MCP server providing database query and introspection capabilities with support for multiple database types
Three tools with minimal descriptions (10-30 chars, well below 50-200 char baseline). No output schemas documented. execute_sql is destructive but lacks confirmation/dry-run pattern. Tool names follow verb_noun convention (positive), but descriptions are too terse to guide LLM selection. No error handling guidance visible. Schema registration uses mcp-go framework correctly, but parameter descriptions are absent.
Execute a SQL query
Get detailed information about a specific table
Get all tables in the database
All tool descriptions are under 20 characters (get_tables: 30, get_table_detail: 48, execute_sql: 20). Descriptions must be 50-200 chars and answer WHAT, WHEN, and WHY for LLM selection.
No parameter descriptions visible in source. get_table_detail accepts 'table_name' but lacks description text. execute_sql accepts 'query' but lacks format/constraint guidance.
execute_sql is destructive (modifies state) but lacks confirmation/dry-run pattern. No error handling guidance visible. Agents can execute DROP TABLE without safeguards.
No output schemas documented. LLMs cannot infer what fields get_tables, get_table_detail, or execute_sql return. LLMs need to know what fields to expect.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
No error handling guidance. Handlers return fmt.Errorf with generic messages ('failed to get tables').