Model Context Protocol server for NL Cache Framework - provides tools for caching natural language to template translations with semantic search capabilities
Server has 5 tools with complete JSON schemas and basic descriptions. However, descriptions are generic and lack LLM-optimization guidance (e.g., 'when to use', 'what happens'). Parameter descriptions exist but are minimal. No output schemas documented. Error handling is absent, no recovery guidance, no categorization of retryable vs fatal errors. Tool names follow verb_noun convention (search_, add_, get_, update_, delete_) which is good, but descriptions don't explain consequences or dependencies. No tool annotations (readOnlyHint, destructiveHint) despite having READ_ONLY, WRITE, and DESTRUCTIVE operations.
Adds a new natural language query and its corresponding template (SQL, API, URL, etc.) to the cache.
Deletes a specific cache entry by its unique ID.
Retrieves a specific cache entry by its unique ID.
Searches the cache for existing entries similar to a given natural language query. Returns the closest matches found above a specified similarity threshold.
Updates an existing cache entry identified by its ID. Only provided fields are updated.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., entry_id returned by add_cache_entry for use in update/delete).
Descriptions lack LLM-optimization: no 'when to use', no state-change warnings, no prerequisites. E.g., delete_cache_entry says 'Deletes a specific cache entry' but doesn't warn it's irreversible or suggest confirmation.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit Risk labels (READ_ONLY, WRITE, DESTRUCTIVE). Agents cannot infer safety properties.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
No error handling guidance. No recovery hints (e.g., 'entry not found, try search_nl_cache first'). No categorization of retryable vs fatal errors.
Parameter descriptions are minimal (1-2 sentences). Missing format constraints, ranges, and dependencies. E.g., 'threshold' lacks range (0.0 - 1.0?), 'template_type' enum is clear but no guidance on when to use each type.