MCP server for Document & Code indexing and querying with semantic search capabilities
Single tool 'search_doc' has a clear action verb and reasonable description (106 chars, within 10-1024 range). Input schema is present with 4 parameters, all typed and described. However, output schema is not documented in the visible code, critical for LLM planning. Parameter 'search_path' marked required but its necessity and glob-pattern semantics could be clearer. No error handling guidance visible (e.g., what happens if search_path matches nothing, or if query is empty). Tool is read-only (good security posture) but lacks explicit idempotent annotation.
Search for the rationale behind a non-obvious code implementation. Call this before assuming code is wrong or refactoring it. Searches design decision records and documentation.
Output schema not documented. LLMs cannot plan downstream actions or extract result fields without knowing the response structure (e.g., does it return matched_files, snippets, confidence_scores, or raw text?).
No error handling guidance. If search_path glob matches zero files, or query is empty, or index is not ready, what does the tool return? LLMs need actionable recovery hints (e.g., 'Try broadening search_path to /** or check that indexing is complete').
Parameter 'search_path' is required and uses glob syntax, but the description does not explain glob semantics or provide examples. LLMs may pass invalid patterns like '/path/to/file' instead of '/path/to/**/*.rs'.
Tool lacks idempotent or read-only annotation. While the Risk field shows READ_ONLY, the tool definition should include explicit toolAnnotations (readOnlyHint) for protocol clarity and agent safety.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Parameter 'limit' has a default (3) and range (1-10), but the description does not explain why the range is bounded or what happens if the user requests more results. Pagination guidance is missing.