Labsco
MCP SERVER

SqlAugur

by mbentham

Read-only SQL Server access for an assistant, with every query parsed into a syntax tree before it runs.

Relational SQL Databases
Summary
Guardrails that survive a determined query.

Two limits worth setting before you point this at production: MaxConcurrentQueries defaults to 5 and MaxQueriesPerMinute to 60, which is what stops a looping agent from flooding the server, and MaxRows caps results at 1000. One known gap: progressive tool discovery relies on the tools-changed notification, which Claude Code does not act on — set EnableDynamicToolsets to false there and load your toolsets at startup.

What it is

A .NET MCP server for named SQL Server connections. Only SELECT and CTE queries pass: each one is parsed into an abstract syntax tree with Microsoft's TSql180Parser, so keywords hidden in comments, string literals or encoding tricks are rejected at the syntax level rather than by pattern matching.

What you get
  • Six core tools always loaded: `list_servers`, `list_databases`, `read_data`, `get_query_plan`, `get_schema_overview` and `describe_table`
  • Schema exploration with `list_programmable_objects`, `get_object_definition`, `get_extended_properties` and `get_object_dependencies` — the last one reports both what an object references and what references it
  • `get_plantuml_diagram` and `get_mermaid_diagram` write ER diagrams with cardinality to a file, with schema and table filtering and a limit of 200 tables
  • First Responder Kit diagnostics behind a config flag: `sp_blitz`, `sp_blitz_first`, `sp_blitz_cache`, `sp_blitz_index`, `sp_blitz_who`, `sp_blitz_lock`, `sp_blitz_plan_compare`
  • DarlingData diagnostics behind another: `sp_pressure_detector`, `sp_quickie_store`, `sp_quickie_cache`, `sp_health_parser`, `sp_log_hunter`, `sp_human_events_block_viewer`, `sp_index_cleanup`, `sp_query_repro_builder`, plus `sp_whoisactive` on its own flag
  • 31 tools in total; `list_toolsets`, `get_toolset_tools` and `enable_toolset` load the non-core ones on demand instead of at startup
Requirements

The NuGet package SqlAugur, version 1.4.0, installed as a global .NET tool over stdio and launched as `sqlaugur`; it needs the .NET 10.0 runtime. A container at ghcr.io/mbentham/sqlaugur:latest is the alternative. Connections go in appsettings.json under ~/.config/sqlaugur or %APPDATA%\sqlaugur, or as environment variables using `__` as the section separator. Windows Authentication or Azure Managed Identity is preferred over a password in the file.

Setup effort

One command plus a key — dotnet tool install -g SqlAugur, then supply credentials