Database MCP server for schema discovery, comments, and SQL queries.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-john0king-adomcp": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
AdoMcp is a Model Context Protocol (MCP) server that helps large language models (LLMs) understand database structure, read table comments, and execute SQL queries.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in data
Manage Supabase projects — databases, auth, storage, and edge functions
Query and manage PostgreSQL databases directly from AI assistants
MCPSDK.dev(ToolSDK.ai)'s Awesome MCP Servers and Packages Registry and Database with Structured JSON configurations. Supports OAuth2.1, DCR...
An MCP server that securely interfaces with your iMessage database via the Model Context Protocol (MCP), allowing LLMs to query and analyze iMessage conversations. It includes robust phone number validation, attachment processing, contact management, group chat handling, and full support for sending and receiving messages.
MCP Security Weekly
Get CVE alerts and security updates for io.github.John0King/adomcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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 查询。
| 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) |
To reduce mistakes (wrong database/schema/object), use tools in this order:
list_connections to discover available connections.add_connection.list_objects to locate schema + objectType + objectName.get_table_schema for column details (type, nullability, PK, default, comments).get_table_indexes when index/key design matters.query_sql only for read-only verification.execute_sql only 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.
| 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
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.
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
# 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
By default the execute_sql tool is disabled to prevent unauthorised writes.