
AdoMcp
- 1 repo stars
- Updated July 9, 2026
- John0King/AdoMCP
io.github.John0King/adomcp is a MCP server that provides database schema discovery, comment metadata, and SQL query tools via AdoMcp.
About
io.github.JoeyBrar/agentseal is misplaced - wait, this is adomcp. AdoMcp is a database-focused MCP server for developers who want their agent to understand real schema instead of inventing tables. After you register the NuGet-delivered stdio server, tools support discovery of structure, documentation comments on columns, and running SQL for validation or analytics snippets during backend work. It suits SaaS and API projects where PostgreSQL, SQL Server, or other ADO-compatible stores back the product. Complexity is intermediate: you need a working connection string, MCP host setup, and judgment about read-only versus mutating queries. Version 1.0.2 publishes to NuGet as adomcp. It is not an ORM generator or migration framework—it keeps the agent tethered to live database metadata. Pair with code review practices before letting agents run destructive SQL.
- Database schema discovery exposed as MCP tools
- Column and object comments readable by the agent
- SQL query execution path for grounded data questions
- NuGet package adomcp v1.0.2 with stdio and dnx runtime hint
- .NET-friendly AdoMcp server from GitHub John0King/AdoMCP
AdoMcp by the numbers
- Data as of Jul 10, 2026 (Skillselion catalog sync)
claude mcp add AdoMcp -- npx -y John0King/AdoMCPAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 1 |
|---|---|
| Last updated | July 9, 2026 |
| Repository | John0King/AdoMCP ↗ |
What it does
Let your agent discover database schema, read column comments, and run SQL through MCP without hand-pasting DDL into chat.
Who is it for?
Best when you're on.NET or ADO-friendly stacks and want schema-grounded agent assistance during feature work.
Skip if: Frontend-only projects, teams forbidding agent SQL access, or developers who need full ETL orchestration instead of interactive queries.
What you get
After install, your agent discovers schema and runs SQL through MCP so migrations, queries, and data models match the real database.
- Agent-visible database schema structure
- Comment and metadata context on columns or objects
- Executed SQL results feeding backend implementation tasks
By the numbers
- Version 1.0.2 published to NuGet as identifier adomcp with stdio transport
- Documented capabilities: schema discovery, comments, and SQL queries
README.md
AdoMcp
AdoMcp is a Model Context Protocol (MCP) server that helps large language models (LLMs) understand database structure, read table comments, and execute SQL queries.
AdoMcp 是一个基于 Model Context Protocol (MCP) 的数据库工具服务,帮助大型语言模型(LLM)理解数据库结构、读取表注释、执行 SQL 查询。
MCP Tools
| Tool | Description |
|---|---|
list_connections |
List configured database connections |
add_connection |
Add (or replace) a database connection at runtime |
remove_connection |
Remove a dynamically-added connection |
list_objects |
List database objects (table/view/procedure/function/trigger/sequence/synonym, etc.) |
get_table_schema |
Get table schema details (columns/types/nullability/PK/default/comments) |
get_table_indexes |
Get table indexes |
query_sql |
Execute read-only SQL and return CSV |
execute_sql |
Execute write SQL (requires --allow-any-sql) |
Recommended Tool Workflow (for LLM agents)
To reduce mistakes (wrong database/schema/object), use tools in this order:
list_connectionsto discover available connections.- If none are available, call
add_connection. - Before inspecting a table/view, call
list_objectsto locateschema + objectType + objectName. - Use
get_table_schemafor column details (type, nullability, PK, default, comments). - Use
get_table_indexeswhen index/key design matters. - Use
query_sqlonly for read-only verification. - Use
execute_sqlonly when explicitly authorized and server is started with--allow-any-sql.
Oracle note: objects without owner prefix may be synonyms. Always confirm the real schema via list_objects first.
Supported Databases
| Database | Driver | Comment support |
|---|---|---|
| SQL Server | Microsoft.Data.SqlClient |
MS_Description extended properties |
| MySQL / MariaDB | MySqlConnector |
TABLE_COMMENT / COLUMN_COMMENT |
| PostgreSQL | Npgsql |
obj_description / col_description |
| SQLite | Microsoft.Data.Sqlite |
— (SQLite has no native comments) |
| Oracle | Oracle.ManagedDataAccess.Core |
ALL_TAB_COMMENTS / ALL_COL_COMMENTS (includes PUBLIC synonyms) |
ORM support: Dapper · SqlSugarCore
Requirements
Quick Start
1. Configure database connections (optional)
Edit src/AdoMcp/appsettings.json and add pre-configured connections under the Databases array.
You can also skip this step entirely and let the LLM add connections dynamically via the add_connection tool.
"Databases": [
{
"Name": "mydb",
"DbType": "SqlServer",
"ConnectionString": "Server=localhost;Database=MyDb;User Id=sa;Password=***;TrustServerCertificate=true;",
"Description": "Main business database"
}
]
Supported DbType values: SqlServer | MySql | PostgreSql | Sqlite | Oracle
Security tip: Use .NET User Secrets or environment variables to manage connection strings in production.
2. Run the server
Automatic mode detection (recommended)
When stdin is redirected (i.e. launched by an MCP client), stdio mode is used automatically.
When run interactively in a terminal, HTTP/SSE mode is used automatically.
dotnet run --project src/AdoMcp
Specify mode manually
# stdio mode (all logs go to stderr; stdout carries only MCP JSON-RPC)
dotnet run --project src/AdoMcp -- --stdio
# HTTP/SSE mode (default: http://localhost:5100, MCP endpoint /mcp)
dotnet run --project src/AdoMcp -- --http
# Via environment variable
ADOMCP_MODE=http dotnet run --project src/AdoMcp
Enable execute_sql (write operations)
By default the execute_sql tool is disabled to prevent unauthorised writes.
Add --allow-any-sql to enable it:
dotnet run --project src/AdoMcp -- --allow-any-sql
# Combine with transport mode
dotnet run --project src/AdoMcp -- --http --allow-any-sql
3. Run via NuGet / dnx (.NET 10)
After the package is published to NuGet.org, you can run it without cloning the repo:
# Install as a global .NET tool once, then run directly
dotnet tool install -g AdoMcp
adomcp
# Or use dnx (.NET 10+) — installs and runs on demand
dnx AdoMcp
dnx AdoMcp -- --allow-any-sql
Dynamic connections at runtime (no config file needed)
LLMs can add new database connections during a session using add_connection:
User: Connect me to Oracle database oradb01
LLM → calls add_connection(
connectionString = "Data Source=oradb01:1521/PROD;User Id=appuser;Password=***;",
dbType = "Oracle",
name = "prod-oracle",
description = "Production Oracle DB"
)
→ returns: Connection 'prod-oracle' (Oracle) added successfully.
LLM → calls list_objects(connectionName = "prod-oracle")
Dynamically-added connections exist only for the lifetime of the process; restart the server or add the connection to appsettings.json for persistence.
Via dnx (after NuGet publish)
{
"mcpServers": {
"adomcp": {
"command": "dnx",
"args": ["-y","AdoMcp"]
}
}
}
HTTP mode
Start the server first:
dnx -y AdoMcp -- --http
Then configure the client:
{
"mcpServers": {
"adomcp": {
"url": "http://localhost:5100/mcp"
}
}
}
Environment variables
All environment variables are prefixed with ADOMCP_ (override appsettings.json):
| Variable | Description |
|---|---|
ADOMCP_MODE |
Transport mode: stdio or http (auto-detected when not set) |
ADOMCP_URLS |
HTTP listen address, e.g. http://0.0.0.0:5100 |
MCP Registries
Official MCP Registry
This repository now includes server.json for the official MCP Registry with the server name io.github.John0King/adomcp.
To publish to the official MCP Registry:
- Publish the NuGet package
AdoMcpto NuGet.org. - Push a version tag such as
v1.0.1, or manually run thePublish to NuGet and MCP RegistryGitHub Actions workflow. - The workflow publishes the NuGet package, authenticates with GitHub OIDC, and publishes
server.jsonto the MCP Registry.
Build & Pack
# Build
dotnet build
# Pack as a NuGet tool (supports dnx)
dotnet pack src/AdoMcp -c Release -o ./nupkg
# Publish to NuGet.org (set NUGET_API_KEY first)
dotnet nuget push ./nupkg/AdoMcp.*.nupkg --source https://api.nuget.org/v3/index.json --api-key $NUGET_API_KEY
Recommended MCP Servers
How it compares
ADO database schema and SQL MCP, not a document store browser or Marketing Cloud integration server.
FAQ
Who is io.github.John0King/adomcp for?
Developers shipping data-backed apps who want Claude Code or Cursor to read real schema, comments, and SQL results safely through MCP.
When should I use io.github.John0King/adomcp?
Use it during backend build when modeling tables, debugging queries, or explaining schema to the agent before you ship.
How do I add io.github.John0King/adomcp to my agent?
Install the NuGet tool adomcp v1.0.2, point your MCP host at the stdio entry with your database connection configured per AdoMCP docs, then reload tools.