HoarderMCP exhibits significant definition quality gaps. Tool descriptions are minimal (6-30 chars), well below the 194-char baseline for production tools. Input schemas are severely underdeveloped: most parameters lack type definitions and descriptions. The 'request' parameter in ingest_documents and search_documents is documented only as 'object' with no nested schema visibility. Parameter descriptions are absent or trivial. No output schemas are documented. Error handling provides no recovery guidance. The server follows a basic FastAPI pattern but does not optimize for LLM reasoning, tool names are clear (verb_noun), but parameter design and schema completeness fall far short of production standards.
Get a document by ID.
Get the status of an ingestion job.
Get the API version.
Health check endpoint.
Ingest documents from the provided sources.
Search for documents similar to the query.
Opaque 'request' parameters lack nested schema definition. ingest_documents and search_documents accept a 'request' object with no visible nested properties, types, or constraints. LLMs cannot determine what fields to populate.
Tool descriptions are 6 - 30 characters, far below the 194-char production baseline. Descriptions like 'Health check endpoint.' and 'Get the API version.' provide no context for LLM selection or when to call the tool.
No parameter descriptions provided. Parameters like 'job_id' and 'doc_id' have minimal inline descriptions ('Job ID', 'Document ID'). LLMs cannot infer format, constraints, or valid value ranges.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | <=2025-11-25 | v2 |
No output schemas documented. Tool responses (IngestResponse, document objects, search results) are not visible in the provided code. LLMs cannot plan downstream tool calls or extract required fields.
Error handling provides no recovery guidance. Exception handlers return generic 'Internal server error' or HTTP status codes without actionable next steps for the LLM.