MCP server for AI-powered database analysis. Connect Claude to MSSQL & PostgreSQL using natural language.
Server has 13 tools with complete input schemas and descriptions present for all tools and parameters. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool or HOW to recover from errors. No output schemas are documented. Parameter descriptions are minimal (avg ~30 chars, well below the 72-char baseline). Missing error handling guidance, no recovery hints, and no tool composition documentation. Tools like 'execute_query' and 'connect' expose security risks (passwords as parameters). No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Naming is verb-first and clear, but descriptions fail to distinguish similar tools (e.g., 'get_schema' vs 'get_relationships' both return table metadata but serve different purposes).
Analyze a SQL query for performance and optimization suggestions
Establish a database connection
Get information about the current database connection
Disconnect from the current database
Execute a SQL query against the connected database
Find queries that are blocking other queries
Get index usage statistics
Get performance statistics for the database
Passwords and credentials exposed as tool parameters. 'connect' and 'switch_database' accept plaintext passwords, which will be logged in agent traces and prompt history. Violates secret-injection pattern.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., does 'list_tables' return table_id, table_name, or both?). Blocks tool composition.
Descriptions lack LLM-optimized guidance. Average param description ~30 chars (baseline 72). Missing WHEN to use each tool, dependencies between tools, and recovery hints. E.g., 'execute_query' should explain it modifies state and is not idempotent.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
Get foreign key relationships for a table
Get the schema information for a specific table
List all available databases on the connected server
List all tables in the current database
Switch to a different database on the same server
No tool annotations despite clear risk classifications. Tools marked WRITE (connect, disconnect, switch_database, execute_query) should have destructiveHint=true. READ_ONLY tools should have readOnlyHint=true. Agents cannot reason about side effects.
No error handling guidance. Tools like 'execute_query' and 'connect' can fail in many ways (network, auth, syntax, permissions) but descriptions provide no recovery hints. Agents cannot self-correct.