An MCP server that retrieves and serves a knowledge base of Q&A pairs from a JSON file
Single tool with minimal definition quality. Tool name 'get_knowledge_base' follows verb_noun convention (+), but description is generic and lacks actionable context. Input schema is empty object {} with no parameters documented. Output is unstructured string rather than structured JSON. No parameter descriptions, no error recovery guidance, no pagination support despite returning potentially large knowledge base. Tool lacks idempotency hints, permission declarations, and security context. Descriptions do not explain WHEN to use this tool vs alternatives or what prerequisites exist.
Retrieve the entire knowledge base as a formatted string. Returns: A formatted string containing all Q&A pairs from the knowledge base.
Input schema is empty object {}, no parameters defined or documented.
Tool description is 127 characters but lacks WHEN/WHY context. Does not explain when to call this vs other discovery tools, what prerequisites exist, or what the output structure contains. LLM cannot determine if this is the right tool for a query.
Output is unstructured string (free-text formatted Q&A pairs) rather than structured JSON with typed fields. LLM must parse text to extract individual Q&A pairs, wasting tokens and inviting parsing errors.
No pagination, limit, or offset parameters despite potentially returning large knowledge base. If KB contains 1000+ Q&A pairs, response will blow context window. No guidance on result limits.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
Error handling returns plain strings ('Error: ...') instead of structured error objects with recovery guidance. LLM cannot distinguish between retryable (file not found) and fatal (invalid JSON) errors.