Four tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (list_, get_, refresh_, query), which is good. However, descriptions are minimal (10-50 chars), parameter descriptions are sparse or missing, and output schemas are not documented. The 'query' tool conflates two concerns (SQL generation vs execution) and lacks guidance on when to use each mode. No error recovery hints, no pagination support despite potential for large result sets, and no tool annotations (readOnlyHint, idempotentHint). Risk labels are present but not integrated into descriptions.
Get cached schema for a database
List configured databases
Generate SQL or return query results
Refresh schema cache for a database
Descriptions are too short (10-50 chars) to guide LLM tool selection. Rubric baseline is 194 chars average; these lack context on WHEN to use each tool and WHAT it returns.
Output schemas are not documented. LLMs cannot plan downstream calls or extract required fields without knowing what list_databases, get_schema, and query return.
'query' tool conflates two responsibilities: SQL generation (output_mode='sql') and query execution (output_mode='results'). Should be split into generate_sql and execute_query for clarity and composability.
No error recovery guidance. If a query fails or schema refresh times out, LLM has no hint on what to do next (retry, check permissions, call a different tool).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
No pagination or result limits documented. 'query' with output_mode='results' could return thousands of rows, exhausting context window. Rubric requires limit + pagination for list tools.