Model Context Protocol server implementation with document processing & vector search
Four tools with Zod schemas and descriptions present, but significant gaps limit production readiness. All tools have descriptions (10-200 chars baseline met), but lack critical context on WHEN to use each tool and dependencies between them. Schemas are present but minimal, only 1-3 params per tool with basic type info. No output schemas documented. Error handling returns JSON but lacks recovery guidance. Tool composition is sequential (getDocumentsMetadata → checkQueryRelevance → analyzeIntent → retrieveContext), but this dependency chain is not enforced or validated, LLMs must infer the correct order from descriptions alone. No pagination, no result limits documented, no idempotency guarantees. Security: no secrets exposed, but no permission gates or audit logging visible.
Analyzes the user's query intent to optimize document context retrieval. Use this tool AFTER checkQueryRelevance to refine understanding of what the user is seeking. This tool helps determine HOW to extract and present information from relevant documents.
Checks the relevance of specific documents to the user's query and provides guidance for intent analysis. Use this tool AFTER getDocumentsMetadata to validate document selection and prepare for deeper intent analysis. This tool bridges initial document selection and refined intent understanding.
Retrieves a list of available documents from the personal archive. ONLY use this tool when: 1. The user explicitly asks to search their documents or archive 2. The user's query implicitly suggests that consulting their personal document archive would provide valuable information 3. The query is about a specific topic that likely requires domain knowledge from stored documents DO NOT use this tool for: - General knowledge questions that don't require personalized document context - Queries that can be answered with your built-in knowledge This tool helps determine if relevant documents exist in the user's personal archive.
Retrieves highly relevant contextual passages from selected documents based on query and intent analysis. This is the final step in the document consultation workflow. The tool returns specific contextual information from documents that you can seamlessly integrate into your response.
No output schemas documented. Tools return JSON text blobs without declared field structure. LLMs cannot plan downstream calls or extract typed data reliably.
Tool composition order is implicit. Descriptions hint at sequence (getDocumentsMetadata → checkQueryRelevance → analyzeIntent → retrieveContext) but no validation prevents out-of-order calls or missing prerequisites. LLMs must infer the workflow.
Error responses lack recovery guidance. Errors return JSON with 'error' and 'message' fields but do not tell the LLM what to do next (retry, call another tool, ask user). Example: 'No relevant documents found' does not suggest fallback actions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
No result limits or pagination documented. retrieveContext may return unbounded search results, risking context window exhaustion. No limit parameter, no total count, no next_cursor in response.
Parameter 'relevantDocIds' (checkQueryRelevance, retrieveContext) expects comma-separated string but no format constraint or validation rule documented. LLMs may pass invalid formats (spaces, newlines, duplicates).