Skip to content

Beacon — database monitoring for the AI era

Database monitoring for the AI era

The database monitoring platform
built for the AI era.

Beacon watches your databases with scheduled SQL checks, moves data across engines with auditable ETL, and gives your AI assistants read-only, PII-aware, fully audited access through a governed MCP server. Self-host it, or embed it in your own .NET application.

.NET 109 data sourcesGoverned MCPAGPL / Commercial650+ tests
Program.cs
// Embed the whole platform in your ASP.NET Core host
builder.Services.AddBeaconServices(config, opt => {
    opt.AddBeaconScheduler<WarpScheduler>();
    opt.UseAI = true;
})
.AddPostgreSqlConnector()
.UsePostgreSql(connectionString, "beacon");

app.MapBeaconApi();                              // REST /beacon/api
app.MapMcp("/beacon/mcp").RequireAuthorization();
app.MapBeaconUi();                               // React UI at /
mcp.json
// Point any MCP client at Beacon — read-only, audited
{
  "mcpServers": {
    "beacon": {
      "url": "https://beacon.acme.com/beacon/mcp",
      "headers": { "Authorization": "Bearer sk-sem_…" }
    }
  }
}

 "Which orders are stuck in pending?"
  grounded SQL · AST-validated · PII-masked · logged
Connects to
PostgreSQLSQL ServerMySQLBigQuerySnowflakeDatabricksAzure SynapseCloudWatchREST APIModel Context ProtocolEF CoreEmailMicrosoft TeamsSlackJiraWebhooksPostgreSQLSQL ServerMySQLBigQuerySnowflakeDatabricksAzure SynapseCloudWatchREST APIModel Context ProtocolEF CoreEmailMicrosoft TeamsSlackJiraWebhooks
01What Beacon does

Four jobs. One operations layer on your databases.

Point Beacon at PostgreSQL, SQL Server, MySQL, BigQuery, Snowflake, Databricks, Azure Synapse, CloudWatch, or any REST API. It becomes the layer that watches, alerts, moves, and safely serves that data — to your team and to your AI.

01

Watch

scheduled SQL

Cron-scheduled SQL checks catch data-quality issues, broken business rules, and unhealthy databases before your users do.

SELECT count(*) FROM orders
WHERE status = 'stuck';
02

Alert

multi-channel

Results delivered to Email, Microsoft Teams, Slack, Jira, or webhooks — full datasets attached, tasks opened and auto-resolved.

notify: Teams, Email(csv)
open task if rows > 0
03

Move

auditable ETL

Insert, Upsert, Truncate-Load, and Sync jobs move data across engines with bulk operations, transactions, and full history.

migrate @@result1
  → warehouse (Upsert)
04

Serve AI

governed MCP

A production-hardened MCP server gives Claude, Cursor, and any client read-only, PII-aware, fully audited access to your data.

ask("revenue by region
  last quarter")
02Capabilities

Everything a data team needs — and safe hands for AI.

Beacon is a complete platform, not a wrapper. Accuracy, security, and governance are defaults, not add-ons.

AI-grade SQL accuracy

Natural-language questions become SQL grounded in an M-Schema context with real sample values, curated join paths, your business glossary, and human-verified query examples — then validated by a multi-dialect AST parser and self-corrected through a dry-run repair loop.

Security as a default

AES-256-GCM–encrypted connection strings, SHA256-hashed scoped API keys shown exactly once, read-only enforcement at the connector level, PII detection and masking, login rate limiting, OIDC/SSO, and JWT for MCP clients.

A self-improving MCP server

Every SQL-carrying call records a usage signal — intent, generated SQL, routing, outcome, timing. A learning loop mines those into lessons, and promotes one only when replaying your golden test cases proves it makes generation measurably better.

Cross-database queries

Chain query steps across engines and join the results in in-memory SQLite (@@result1, @@result2) — no data warehouse required, no cross-connector SQL gymnastics.

Statistical anomaly detection

Z-score, IQR, and percentage-change detectors with baseline learning and per-metric sensitivity. Trend charts, related-task discovery, and manual resolution with notes.

Multi-channel notifications

Email with HTML tables and CSV/Excel attachments (full datasets, no row caps), Microsoft Teams Adaptive Cards, Slack Table Blocks, Jira issue creation, and generic webhooks.

Embeddable via NuGet

AddBeaconServices() drops the whole platform — UI, API, MCP server, scheduler — into your existing ASP.NET Core host. Your app, your auth, your domain.

Runtime-swappable LLM

OpenAI, Anthropic Claude, Azure OpenAI, or AWS Bedrock — hot-swappable from admin settings without a restart, behind a concurrency-limited request queue with usage tracking.

Modern React UI

React 18 + Vite + TypeScript + Tailwind with light and dark themes, a typed OpenAPI client, real-time SignalR events, and a Monaco SQL editor with a live database explorer.

03The product

A real UI, not a config file.

A modern React interface with a full design system in light and dark — the Control Tower, query builder, MCP playground, and learning loop are all first-class.

Beacon home dashboard (light theme)Beacon home dashboard (dark theme)

Shown with sample data from Beacon's built-in mock mode (npm run dev:mock).

04Get started

Run it in a minute. Embed it in an afternoon.

Clone and run the sample host, or add the NuGet packages to your own ASP.NET Core app. Either way you get the UI, REST API, MCP server, and scheduler.

A · Run the appself-host
shell
$ git clone https://github.com/moberghr/beacon
$ dotnet run --project Beacon.SampleProject
$ npm run dev --prefix src/Beacon.UI/web

 EF Core migrations applied on first run
 First-run admin setup — no hardcoded credentials
 UI at / · API at /beacon/api · MCP at /beacon/mcp
B · Embed via NuGetyour host
shell
$ dotnet add package Moberg.Beacon.Core.PostgreSql
$ dotnet add package Moberg.Beacon.UI
$ dotnet add package Moberg.Beacon.Connector.PostgreSql

 Your host, your auth, your domain
 UI + REST + MCP + scheduler drop in
 Cookie / OIDC / API-key / JWT auth ready

Give your team — and your AI — safe hands on your data.

Beacon is dual-licensed: free under the GNU AGPL v3.0, or a commercial license without copyleft obligations. Self-host it today, or embed it in the product you already ship.