Code intelligence MCP server for repository analysis and graph-based code understanding
Mache provides 11 code-analysis tools with basic descriptions and minimal input schemas. All tools are READ_ONLY and well-intentioned for repository exploration, but definitions lack depth. Descriptions average ~60 chars (well below the 194-char baseline for A+ tools). Input schemas are present but sparse, most accept only a single string parameter with minimal constraint documentation. No output schemas are documented, forcing LLMs to guess result structure. Parameter descriptions are generic ('Symbol name to find definition for') without format guidance, constraints, or dependency hints. Error handling is not visible in the definitions. Tool names follow verb_noun convention (positive), but lack the specificity needed to disambiguate similar operations (e.g., find_definition vs find_callers both search for symbols but return different result types).
Find all callers of a given symbol
Find the definition of a symbol in the codebase
Find code smells and quality issues in the codebase
Get the architecture and structure of the codebase
Get diagnostic information for a file or symbol
Get the impact analysis of changes to a symbol or file
Get an overview of a file or directory in the repository
No output schemas documented. LLMs cannot predict result structure, forcing them to guess what fields are returned and how to chain results to downstream tools.
Descriptions are too brief (~30 chars average). They lack WHEN to use each tool, what distinguishes similar tools (find_definition vs find_callers), and what the LLM should expect. Baseline for A+ tools is 194 chars.
Parameter descriptions are generic and lack format/constraint guidance. E.g., 'Symbol name to find definition for' does not explain: Is it a function, class, or variable? Must it be fully qualified? What if multiple symbols match?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Get type information for a symbol
List directory contents at a given path in the repository graph
Search for a pattern in the codebase
Perform semantic search across the codebase
Tool names lack specificity to disambiguate similar operations. 'search' is generic (search for what? code, symbols, patterns?). 'find_definition' and 'find_callers' both search for symbols but return different result types, descriptions should clarify the distinction.
No pagination or result-limit guidance. Tools like 'search' and 'semantic_search' could return hundreds of matches. Without documented limits or pagination parameters, LLMs risk context window exhaustion.