MCP server for semantic code and documentation search via vector embeddings (Voyage / OpenAI / Ollama)
Two tools with reasonable naming and descriptions, but significant gaps in schema documentation and parameter clarity. search_files has a detailed description (450+ chars) explaining preview behavior and path_prefix semantics, which is excellent. However, neither tool's input schema is fully visible in the provided source code, only parameter names and descriptions are shown, not formal JSON Schema with types. get_server_info lacks any visible input schema. Output schemas are not documented. Error handling is minimal, no recovery guidance or categorization. The server uses fastmcp framework but does not expose tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite both tools being read-only operations.
Get search server configuration and database statistics.
Semantic file search. Search through codebase files using natural language queries. Always returns: a header (pipeline budget + score interpretation), then a numbered list of `path — score`. Per-file content preview is controlled by PREVIEW_CHARS_OUTPUT: - 0 -> no preview (agentic flow: read selected files via Read/Grep/Glob) - N -> first N characters of each file - -1 -> entire file
Input schemas not fully visible in source code. search_files shows parameter descriptions but no formal JSON Schema type definitions (e.g., 'query' type is stated as string in description, not in schema). get_server_info has no visible schema at all.
Output schemas are not documented. search_files returns a formatted string with numbered results and headers, but the structure is not formally specified. Agents cannot plan downstream operations without knowing the response format.
get_server_info has minimal description (27 chars: 'Get search server configuration and database statistics.'). Below the 50-char baseline for clarity. Does not explain when to call it, what fields are returned, or what 'statistics' means.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
No error handling guidance. Code catches ValueError and logs, but does not return actionable error messages to the LLM. E.g., if CODEBASE_PATH is missing, the agent sees 'CODEBASE_PATH environment variable is required' but has no recovery path.
Tool annotations missing. Both tools are read-only (no state modification), but fastmcp does not expose readOnlyHint or idempotentHint. This prevents clients from optimizing caching or retry logic.