Convert a document collection to verified Markdown, package it encrypted with its search index and provenance, and serve it to agents over MCP
Single tool 'search' has a clear, action-verb name and reasonable description (89 chars). However, the input schema is minimal, only a 'query' string parameter with basic description. No output schema is documented in the visible code. The tool lacks parameter constraints (enums, ranges), error handling guidance, and composition details. No tool annotations (readOnlyHint, etc.) are present. The server exposes a narrow interface suitable for RAG but lacks the depth expected of production-grade tools.
Search the document collection for passages answering a question, with provenance
Output schema not documented. The tool description does not specify what fields are returned (e.g., passages, provenance, scores, source metadata). LLMs cannot plan downstream actions or extract structured data without knowing the response shape.
Input schema is minimal. The 'query' parameter has no constraints (length, format, examples of valid queries). No guidance on query syntax, supported operators, or expected result limits. LLMs may pass malformed or overly broad queries.
No error handling guidance. The tool description does not explain what happens on empty results, malformed queries, or decryption failures. No recovery hints for the LLM (e.g., 'Try a simpler query' or 'Check the corpus key').
No tool annotations. The 'search' tool lacks readOnlyHint=true, which would signal to the agent that this is a safe, non-destructive operation. This is a current MCP spec pattern (2026-07-28) that should be present.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Pagination and result limits not addressed. No mention of how many results are returned, whether pagination is supported, or how to handle large result sets. This risks context window exhaustion.