MCP server that provides semantic code search, code structure analysis, and codebase indexing capabilities using vector embeddings and tree-sitter parsing.
The server defines 3 tools. Two are substantive codebase analysis tools with good parameter descriptions and well-structured schemas (search_codebase, outline_codebase). However, the inclusion of a trivial 'addition' demo tool (adds two numbers) in production code is problematic and signals incomplete tool lifecycle management. Descriptions are generally adequate (150-250 chars), but lack dependency hints and recovery guidance. Parameter schemas are complete and properly typed for the two real tools. Error handling is not visible in the tool definitions, no guidance on retryability, user-fixable errors, or what to do on failure. Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are completely absent despite tool definitions being visible. The 'addition' tool description is in Chinese, breaking English-only assumption and adding minimal value.
两个数字相加
Extract code structure outline from source files using tree-sitter parsing. Supports both single files and glob patterns.
Search the codebase using semantic vector search to find relevant code snippets.
Demo 'addition' tool exposed in production MCP server. This trivial add-two-numbers function has no business value, clutters the tool namespace, and suggests incomplete separation of demo code from production deployments.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear opportunity. search_codebase and outline_codebase are READ_ONLY operations and should declare readOnlyHint=true to signal safety to the agent. This prevents unnecessary double-checks and enables optimizations.
Descriptions lack recovery hints and do not explain what to do on failure. search_codebase description does not say: 'If no results, try broadening query, removing filters, or calling outline_codebase to discover file structure first.' Agents are forced to guess.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 43 | - | v1 |
Parameter 'limit' in search_codebase has a description recommending users NOT set it manually and 'let the server use its configured default (20)', but then allows override. This is contradictory guidance. Either make it non-optional with a fixed default, or fully document when to override it.
'addition' tool description is in Chinese ('两个数字相加' = 'Add two numbers'), breaking expected English descriptions for non-Chinese-speaking agents and users.
No documented output schemas. search_codebase and outline_codebase return values, but the tool definitions do not specify what fields/structure to expect. The LLM cannot plan downstream tool calls or extract relevant data without knowing the response schema.
outline_codebase 'title' parameter description is confusing: 'Only show file summary without detailed definition listings. When true, displays only file path and overall file-level summary(summarize on).' The parenthetical '(summarize on)' is unclear, does this override the summarize param? Undocumented parameter interactions cause silent misuse.