A code search and indexing tool based on MCP protocol that provides code retrieval, analysis, and structuring capabilities for AI language models
The server defines 8 tools with partial schema information visible in the source code. All tools have names starting with action verbs (identify, index, search, get, analyze, find), which is good for LLM disambiguation. However, critical quality issues significantly reduce the score: (1) All tool descriptions are in Chinese, making them inaccessible to English-speaking LLMs and developers; (2) Parameter descriptions are minimal and inconsistent in language (mixing Chinese and English); (3) Output schemas are completely undocumented, no tool shows what it returns, forcing LLMs to guess at response structure; (4) No error handling guidance is provided; (5) No parameter constraints (enums, min/max, patterns) are defined; (6) The 'language' parameter appears in multiple tools but lacks validation or enumeration of supported languages. These omissions make it very difficult for LLMs to reliably use these tools in production.
分析代码质量指标
分析项目依赖关系
查找相似代码片段
获取代码度量数据
获取代码结构信息(类、函数、依赖关系)
识别代码项目,返回项目ID和状态
索引代码项目,生成向量索引
搜索代码,返回相关代码片段
All tool descriptions and parameter descriptions are in Chinese. LLMs (which operate primarily in English) cannot understand when or why to call these tools. This violates the fundamental tool-description pattern.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract expected fields from results. Without knowing what search_code returns (fields, structure, format), an agent cannot chain it to subsequent tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 33 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 25 | - | v1 |
The 'language' parameter appears in 4 tools but has no enum, no constraints, and no guidance on supported values. LLMs may pass unsupported language codes (e.g. 'english' vs 'en' vs 'JavaScript'), causing silent failures or hallucinated responses.
No error handling guidance. Tools like index_project and analyze_code_quality may fail (missing files, unsupported language, permission denied) but provide no recovery hints. LLMs receive raw errors with no guidance on what to do next.
Parameter 'limit' in search_code and find_similar_code have defaults (10 and 5) but no min/max constraints. LLMs could pass limit=10000, exhausting memory or hitting timeouts without guidance. Unbounded numeric parameters invite misuse.
The 'project_id' parameter in search_code is optional but has no guidance on how to discover valid project IDs or what happens if omitted. Parameter relationship undocumented.