MCP RAG Server with FAISS vector database for Move files
This MCP server has severe definition quality gaps. Only 2 tools are defined, both with critically incomplete schemas and minimal descriptions. Tool definitions are inferred from client_example.py rather than being explicitly registered in the codebase. No input parameter descriptions are visible for either tool. The 'retrieve_documents' tool lacks parameter descriptions for 'query' and 'top_k'. The 'index_documents' tool lacks description for its 'directory' parameter. Neither tool has documented output schemas. No error handling guidance, no parameter validation rules, and no security consideration for what appears to be file system operations. The server uses FastAPI but does not expose explicit tool registration via MCP protocol handlers.
Index documents from a directory
Retrieve documents based on a query
Tool definitions are inferred from client_example.py, not explicitly registered in MCP server code. Tool registration is not visible in source code; no explicit MCP tool handler methods found.
Input parameter descriptions are completely absent. The 'query' and 'top_k' parameters of retrieve_documents have no descriptions. The 'directory' parameter of index_documents has no description. Per the rubric, parameters without descriptions cannot receive credit.
Output schemas are not documented. Neither tool documents what fields it returns or the structure of the response. LLMs cannot plan downstream actions or extract chaining IDs without this information.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 29 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 30 | - | v1 |
Tool descriptions are too brief (25-35 characters). 'Retrieve documents based on a query' and 'Index documents from a directory' lack context for when/why to use them. Descriptions should be 50-200 chars for LLM clarity.
No input validation or constraint documentation. The 'top_k' parameter has a default but no minimum/maximum bounds. The 'directory' parameter has a default but no validation rules or format specification.
No error handling guidance. There is no documentation of what errors can occur (e.g., directory not found, invalid query), how they are classified (retryable vs. fatal), or what recovery steps the agent should take.
No idempotency or confirmation pattern for the write operation. The 'index_documents' tool modifies state but has no dry-run option, confirmation step, or idempotency guarantees documented.
Security: No documentation of permission requirements or scope declarations. The 'index_documents' tool performs file system writes but does not declare required permissions or validate authorization.