Fail-closed hybrid RAG retrieval exposed through the Model Context Protocol.
Three tools with complete schemas and reasonable descriptions. All parameters are typed and constrained (enums, ranges). Descriptions are adequate (60-120 chars) but lack LLM-optimized guidance on WHEN to use each tool or dependencies between them. search_knowledge has good parameter constraints (query 1-500 chars, limit 1-20, mode/source/confidence enums); list_knowledge_sources and rag_status are discovery tools but lack hints about when to call them first. No output schema documentation visible. Error handling and recovery guidance absent. No tool annotations (readOnlyHint, etc.) despite all three being read-only operations.
List source classes and chunk counts without returning chunk text.
Return safe aggregate health and telemetry without query or chunk text.
Search governed knowledge. Low-confidence context is removed in strict mode.
Missing output schema documentation. Tools return dict/list but LLM cannot see field names, types, or structure. Forces LLM to guess what fields exist and how to chain results.
Discovery tools (list_knowledge_sources, rag_status) lack dependency hints. No guidance on WHEN to call them or how they relate to search_knowledge. LLM may skip them or call them unnecessarily.
No tool annotations despite all three tools being read-only. readOnlyHint should be set to true for all tools to signal safety to agents.
search_knowledge description lacks guidance on strict vs normal confidence modes. LLM cannot determine when to use strict mode or what 'low-confidence context' means.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If search fails, query is invalid, or index is unavailable, LLM receives no actionable error message or next steps.