This server has 5 tools with basic functionality but significant quality gaps. All tools are explicitly registered with `@mcp.tool()` decorators and have parameter schemas visible in the source. However, naming clarity is mixed, descriptions lack actionable guidance for LLM selection, parameter descriptions are minimal or absent in some cases, output schemas are undocumented, and error handling is minimal. The server operates over STDIO transport only, which severely limits its production viability. Tools cover a narrow domain (code indexing and search) with no breadth or composition sophistication.
Delete the index for a repository. Args: repo_path: Path to the repository root.
Return raw lines from a file (for expanding search result context). Args: file_path: Absolute path to the file. line_start: 1-based start line. line_end: 1-based end line (inclusive).
Index or update a code repository for semantic search. Args: repo_path: Absolute or ~ path to the repository root. incremental: Only reindex changed files (default True). exclude_dirs: Additional directory names to exclude from indexing (e.g. ["docs", "examples"]).
List all indexed repositories with chunk counts.
Semantic search across indexed code repositories. Args: query: Natural language or code description. repo_path: Restrict search to this repo (optional). top_k: Number of results (default 10). file_glob: Filter results by filename pattern e.g. '*.py'.
No output schemas documented. All 5 tools return data structures but do not specify field names, types, or structure. LLMs must infer response format from examples or guess, causing composition errors and wasted tokens on error recovery.
delete_repo_index lacks destructive operation safeguards. No confirmation step, dry-run option, or explicit warning in description that operation is irreversible. Agents can accidentally delete indexes without recourse.
Minimal error handling and recovery guidance. get_file_context returns {"error": ...} but provides no next steps (e.g., 'Line range out of bounds. File has X lines.'). delete_repo_index lacks error guidance if repo not found. Agents cannot self-correct.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 53 | - | v1 |
Parameter descriptions are vague or missing constraints. 'file_glob' in search_code has no examples or fnmatch syntax documentation. 'top_k' has no min/max bounds. 'exclude_dirs' includes example values that LLMs may reuse literally.
Tool descriptions lack LLM selection guidance. No explanation of when to use search_code vs index_repo, when list_indexed_repos is necessary, or typical workflows. Descriptions are functional but not optimized for agent reasoning.
index_repo includes example values ('"docs", "examples"') in parameter description. LLMs tend to reuse examples literally rather than adapting to context. Should use enum or formal constraints instead.