A local-first Model Context Protocol (MCP) server that provides semantic search capabilities for codebases
Search MCP has 10 tools with significant definition quality gaps. While tool names follow the verb_noun pattern well (create_index, search_code, delete_index), most lack complete input/output schemas in the visible source code. Descriptions are present but often generic and under 100 characters. No explicit input schemas, parameter type definitions, or output schema documentation were found in the provided source excerpts. The toolDescriptions.ts file shows only standard descriptions (34-179 chars) without parameter annotations or examples of schema registration. Tool descriptions are adequate but not optimized for LLM decision-making. Parameter handling and validation rules are not visible in the provided code. Error handling guidance is missing from descriptions. No evidence of idempotent operation declarations or permission gating for destructive tools (delete_index, reindex_project).
Create a search index for the current project
Delete the search index for the current project
Get the status and statistics of the search index
Re-index a single file that has changed
Rebuild the entire search index from scratch
Find files by name or glob pattern
Search your codebase for relevant code using natural language
No visible input schemas for any tool. Cannot verify parameter types, constraints, or descriptions required by LLMs to select correct values.
Missing descriptions for get_config and get_file_summary tools. LLMs cannot determine when or why to select these tools without descriptions.
No documented output schemas. LLMs cannot plan downstream tool calls or extract required fields without knowing response structure.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 32 | <=2025-11-25 | v2 |
| 2026-04-07 | F | 19 | - | v1 |
Search project documentation files (.md, .txt) using natural language. Optimized for prose content like README, guides, and technical docs.
Destructive tools (delete_index, reindex_project, reindex_file) lack confirmation or dry-run patterns. No evidence of permission gates or user confirmation requirements.
No error handling guidance in tool descriptions. LLMs lack context on retryable vs fatal errors, and have no recovery suggestions.
Ambiguous search parameter naming. search_code and search_docs both accept query parameters, but no visible distinction in parameter constraints (what constitutes valid query syntax, length limits, special character handling).
No pagination guidance documented. Tools returning large result sets (search_code, search_docs, search_by_path) lack visible limit/offset or cursor parameters and result count guidance.
Tool descriptions do not explain when to use search_code vs search_docs vs search_by_path. LLMs cannot disambiguate overlapping intent without explicit decision guidance.