A Model Context Protocol (MCP) server for semantic search over Markdown documentation.
Three well-defined search tools with strong parameter schemas and detailed descriptions. All tools have clear semantic purpose and comprehensive input validation. Tool names follow verb_noun pattern. Descriptions are 170-290 chars (within baseline 194 avg). Schemas are complete with type definitions, defaults, constraints (min/max, enums). However, output schemas are NOT documented in the source code, only input schemas are visible. Error handling and recovery guidance are absent. Composition is good (three orthogonal search methods), but no structured error categorization or retry guidance.
Search local documentation using hybrid search (semantic + keyword + graph). Returns ranked document chunks with relevance scores. Use for discovering relevant documentation sections in a large corpus. Supports optional uniqueness_mode parameter for document-unique results.
Search git commit history using natural language queries. Returns relevant commits with metadata, message, and diff context. Supports filtering by file glob patterns and timestamp ranges.
Search documentation using a hypothesis about what the answer might look like. Useful for vague queries where you can describe the expected documentation content. The hypothesis is embedded and used directly for semantic search (HyDE technique).
Output schemas not documented. Callers cannot determine what fields to expect in results, forcing them to guess and potentially fail to extract required IDs for chaining.
No error handling guidance or recovery patterns. Tools do not describe what errors might occur, whether they are retryable, or what the agent should do next (e.g., 'No results found. Try broadening your query.').
query_documents parameter 'scope_mode' has enum values but no explanation of differences between 'global', 'active_project', and 'explicit_projects'. LLM cannot choose appropriately without clarification. Scope parameter dependencies are undocumented (e.g., scope_mode='explicit_projects' appears to require scope_projects, but this is not stated).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 56 | 1.0.0+ | v1 |
Parameter 'min_score' in query_documents states 'omitted uses configured abstention policy' but does not explain what that policy is or how the agent should interpret score thresholds. Guidance is vague.
No pagination or limit enforcement documented. query_documents and search_git_history accept top_n (capped at 100), but descriptions do not explain impact of returning 100 results on context window or why that limit was chosen. search_with_hypothesis has no explicit limit parameter.