Read-only enterprise operations schema and SafeQueryService access for executing guarded SQL queries and retrieving business definitions.
Three tools with minimal descriptions (10-20 chars each) and empty input schemas. get_enterprise_schema and get_business_definitions have no parameters but lack actionable descriptions explaining WHEN to call them or WHAT structure they return. execute_safe_query has a single parameter with a description, but no output schema is documented. No error handling guidance, no parameter validation rules, no security context visible in tool definitions. Tool names follow verb_noun pattern (positive), but descriptions are too terse to guide LLM selection. No tool annotations (readOnlyHint, etc.) despite READ_ONLY risk classification.
Execute one read-only SQL statement through SQLGuard and SafeQueryService.
Get canonical sales, purchase, inventory, delivery, and natural-month definitions.
Get the SafeQueryService-authorized enterprise tables and fields.
Tool descriptions are under 20 characters and provide no context for LLM selection. 'Get the SafeQueryService-authorized enterprise tables and fields' (10 words) does not explain WHEN to call this vs other discovery tools, what structure is returned, or how to use the result downstream.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., table names, field types, query results). Baseline: 100% of A+ tools have documented return types.
No error handling guidance. If execute_safe_query rejects a query (e.g., 'Query violates SafeQueryService policy'), the response must tell the LLM what to do next. Currently no recovery path is visible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Tool annotations missing. Despite Risk: READ_ONLY classification, tools lack readOnlyHint annotation in schema. This prevents clients from optimizing caching, retry logic, or permission checks.
execute_safe_query parameter 'sql' lacks validation rules in description. Minlength=10, maxlength=5000 are in schema but not explained in description text. LLMs cannot read JSON Schema, they rely on description prose to understand constraints.