The server provides 4 well-named database query tools with clear, action-verb names (list_, get_, describe_, query_). All tools have descriptions and input schemas with type definitions. However, several rubric violations reduce the score: (1) parameter descriptions are minimal, many lack guidance on expected format, constraints, or valid values; (2) output schemas are completely undocumented, no description of what fields or structure each tool returns; (3) error handling is present but not actionable, error messages are returned as plain text strings with no guidance on recovery steps; (4) the query_database tool accepts free-form SQL with no validation or sanitization, creating SQL injection risk and no user guidance on valid queries. The descriptions are adequate (50 - 100 chars) but could better explain WHEN to use each tool and HOW results differ. No tool annotations (readOnlyHint) despite all being read-only. Naming is strong (verb_noun convention), but parameter and output documentation falls short of production baseline.
View schema information for a specific table
Get the schema for all tables in the database
List all tables in the database
Execute a SELECT query to read data from the database
Output schemas completely undocumented. No tool describes what fields, types, or structure it returns. LLMs cannot plan downstream tool calls or extract data reliably without knowing response shape.
query_database accepts free-form SQL with zero validation, sanitization, or guidance. LLMs can pass arbitrary queries (UPDATE, DELETE, DROP TABLE). No constraint, no enum, no format hint. Risk of injection and unintended modifications.
Error messages are plain strings with no recovery guidance. E.g. 'Error listing tables: ...' tells the LLM nothing about what to do next. Errors lack categorization (retryable vs fatal) and actionable hints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | D | 56 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 54 | - | v1 |
Parameter descriptions are minimal. 'Name of the table to describe' and 'SQL query to execute' lack format/constraint guidance. No hints on expected format, length limits, or invalid patterns. LLMs must guess valid input shapes.
No tool annotations despite all tools being read-only. Missing readOnlyHint metadata tells agents nothing about side effects or safety.
No pagination support. Tools like list_tables and query_database can return large result sets. No limit enforcement, no offset/limit parameters, no total_count or next_cursor in response. Large queries will blow context windows.