MCP server for discovering and managing SQL Server database metadata, including servers, databases, schemas, tables, and columns
Descriptions are generic and under 20 chars for most tools (e.g., 'Return all registered servers' is 31 chars but lacks context on WHEN to call or WHAT to do with results). No parameter descriptions exist. Tools 1-7 have duplicate/overlapping names (get_databases vs get_databases_for_server; get_schemas vs get_schemas_for_database) creating LLM confusion. Tool 9 (resync) has a description copied from tool 8 ('Return all columns for a given table'), clear copy-paste error. No output schemas documented. No error handling guidance. No pagination support despite metadata discovery tools that could return large result sets.
Return all columns for a given table.
Return all databases for a given server.
Return all databases for a given server.
Return all schemas for a given database.
Return all schemas for a given database.
Return all registered servers.
Return all tables for a given schema.
6 of 9 tools have empty input schemas ({}). Affects get_servers, get_databases, get_schemas, get_tables, resync, and the parameterless variants.
Duplicate/overlapping tool names create LLM confusion. get_databases and get_databases_for_server both exist; same for get_schemas/get_schemas_for_database and get_tables/get_tables_for_schema. LLMs cannot distinguish when to use which.
Tool 'resync' has description 'Return all columns for a given table', copied from get_columns. Actual purpose unknown. Description must explain what resync does and when to call it.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Return all tables for a given schema.
Return all columns for a given table.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. E.g., get_databases_for_server must return database_id for use in get_schemas_for_database.
No pagination support. Discovery tools (get_servers, get_databases, get_schemas, get_tables) could return large result sets. Missing limit, offset, and total_count parameters/fields.