Single tool 'read_query' has a basic description but critical gaps in schema completeness, parameter documentation, and error handling. The input schema is visible but lacks proper type annotations for the 'params' array items and missing descriptions for parameters. Output schema is undocumented. Error responses are generic and do not guide recovery. No tool annotations (readOnlyHint, etc.) despite being READ_ONLY. Naming is acceptable but descriptions are minimal (18 chars). This server falls well below production baseline.
Execute a SELECT query
Parameter 'query' lacks description. LLM cannot infer whether it accepts parameterized queries, subqueries, or has restrictions on query type.
Parameter 'params' has type 'array' with items type 'string' but no description explaining what these strings represent, how they map to query placeholders, or expected format.
Output schema is completely undocumented. LLM cannot plan downstream operations or extract fields. Response structure (status, data, message) is inferred from code, not declared.
Error responses are generic ('Failed to connect to the database', 'An unexpected server error occurred') and do not guide recovery. No actionable next steps for LLM.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | <=2025-11-25 | v2 |
Tool is marked READ_ONLY but has no tool annotations (readOnlyHint) in the schema. LLM cannot infer safety properties from the definition alone.