MCP server exposing tools for searching and analyzing code in indexed repositories. Provides semantic code search, file reading, repository structure listing, and code summaries.
Server exposes 8 tools with basic schemas and descriptions, but significant gaps undermine quality. Tool naming is verb-forward (search_code, read_file, list_files) which is good. However, descriptions are minimal (avg ~60 chars, well below the 194-char baseline for A+ tools). Critical issue: duplicate tool names (read_file appears twice with different schemas, one uses 'file_path', the other 'path'). Parameters lack depth, no enums for constrained inputs, no min/max bounds, no dependency documentation. Output schemas are not documented anywhere in the visible code. Error handling is absent, no recovery guidance, no categorization. The semantic search tool (search_code) lacks critical details: what vector model is used? What's the latency? What happens on empty results? File tools lack path validation and traversal guards. Overall, definitions are skeletal, functional but not production-grade.
Get a high-level summary of the repository structure
Search for a pattern in file contents
List contents of a directory
List all files in the repository or a specific directory
Read the contents of a specific file in the repository
Read the contents of a file
Search for code snippets semantically similar to the query
Duplicate tool name 'read_file' with conflicting schemas: one uses 'file_path' parameter, the other uses 'path'. LLMs cannot disambiguate; will select wrong variant or fail.
No output schemas documented. LLMs cannot plan downstream tool calls or extract structured data. search_code returns what? A list of code snippets with file paths? Line numbers? Confidence scores? Undocumented.
Descriptions are too brief (avg 45 chars vs 194-char baseline). 'Search for code snippets semantically similar to the query' lacks context: What vector model? What's the latency? What if no results? When should I use this vs grep?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Search for files by name pattern
No error handling or recovery guidance. If read_file fails (file not found, permission denied, encoding error), what does the LLM do? No actionable error messages visible in code.
Path traversal and validation gaps. read_file and list_directory accept arbitrary paths. No visible sanitization against '../../../etc/passwd' or symlink attacks. Critical for security.