MCP server for ClickHouse database management and querying
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation, error handling, and output schema clarity. Tool names follow verb_noun convention (query, list_databases, list_tables), which is good. However, descriptions are minimal (10-40 chars), parameter descriptions are sparse or missing, and no output schemas are documented. The 'query' tool accepts arbitrary SQL with no validation guidance, creating security and usability risks. No error recovery guidance, no pagination support for list tools, and no indication of what fields are returned.
List all databases in ClickHouse
List tables in a ClickHouse database
Execute a SQL query on ClickHouse
No output schemas documented for any tool. LLMs cannot infer what fields are returned (e.g., does list_databases return name, id, size, created_at?). This forces agents to guess and wastes tokens on trial-and-error.
Parameter descriptions are missing or trivial. 'database' param in list_tables says 'Database name (optional, defaults to configured database)' but does not explain what happens if omitted, whether it accepts wildcards, or what format is expected.
'query' tool accepts arbitrary SQL with no validation, format guidance, or injection warnings. Description is only 34 chars ('Execute a SQL query on ClickHouse'). No mention of what queries are safe, whether DDL/DML are allowed, or how errors are reported.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
No pagination support. list_databases and list_tables have no limit, offset, or page parameters. If a ClickHouse instance has hundreds of databases/tables, the response could exhaust context or timeout.
No error handling guidance. If 'query' fails (syntax error, permission denied, timeout), the tool provides no recovery hint. LLM cannot determine if it should retry, ask the user, or try a different query.