MCP服务器代码图
模型上下文协议服务器,提供全面的代码分析、导航和质量评估功能 超过25种编程语言.
特性
🎯 增强的工具指导和人工智能优化 ⭐ *v1.2.0中的新功能*
- 综合使用指南 -内置
get_usage_guide带有工作流、最佳实践和示例的工具 - 丰富的工具描述 -视觉层次结构🎯 目的,🔧 使用,⚡ 性能,🔄 工作流程,💡 TIP部分
- 性能感知设计 -对快速(\
cd code-graph-mcp uv sync --dev uv build
**添加到克劳德代码(开发):**
Project-specific
claude mcp add --scope project code-graph-mcp uv run code-graph-mcp
User-wide
claude mcp add --scope user code-graph-mcp uv run code-graph-mcp
**对于其他MCP客户端,请使用:**
{ "command": "uv", "args": ["run", "code-graph-mcp"] }
## 配置选项
### 命令行参数
code-graph-mcp --help
可用选项:
- `--project-root PATH`:项目的根目录(可选,默认为当前目录)
- `--verbose`:启用详细日志记录
- `--no-file-watcher`:禁用自动文件更改检测
### 环境变量
export CODE_GRAPH_MCP_LOG_LEVEL=DEBUG export CODE_GRAPH_MCP_CACHE_SIZE=500000 export CODE_GRAPH_MCP_MAX_FILES=10000 export CODE_GRAPH_MCP_FILE_WATCHER=true export CODE_GRAPH_MCP_DEBOUNCE_DELAY=2.0
### 文件监视器(v1.1.0+)
服务器包括一个智能文件监视器,当文件发生变化时,它会自动更新代码图:
- **自动检测**:监视项目中所有支持的文件类型
- **智能去公告**:2秒的延迟可防止在快速更改期间进行过度的重新分析
- **高效过滤**:尊重 `.gitignore` 模式,只查看相关文件
- **线程安全**:在后台运行,不阻止分析操作
- **零配置**:首次分析后自动启动
**文件监视器功能:**
- 开发过程中的实时图形更新
- 批量处理多个快速变化
- 防止重复更改
- 优雅的错误恢复
- 关机时的资源清理
### 故障排除
#### 常见问题
1. **“找不到命令”**:确保 `code-graph-mcp` 在你的路径中
pip install --upgrade code-graph-mcp which code-graph-mcp
1. **“未找到ast grep”**:安装所需的依赖项
pip install ast-grep-py
1. **权限错误**:使用虚拟环境
python -m venv venv source venv/bin/activate # Linux/Mac # or venv\Scripts\activate # Windows pip install code-graph-mcp ast-grep-py rustworkx
1. **大型项目业绩**:使用详细模式进行调试
code-graph-mcp --verbose
#### 调试模式
启用详细日志记录以进行故障排除:
code-graph-mcp --verbose
#### 支持的文件类型
服务器会自动检测并分析这些文件扩展名:
- **网络**: `.js`, `.ts`, `.jsx`, `.tsx`, `.html`, `.css`
- **后端**: `.py`, `.java`, `.cs`, `.cpp`, `.c`, `.rs`, `.go`
- **移动**: `.swift`, `.dart`, `.kt`
- **脚本编写**: `.rb`, `.php`, `.lua`, `.pl`
- **配置**: `.json`, `.yaml`, `.yml`, `.toml`, `.xml`
- **文档**: `.md`, `.rst`, `.txt`
## 可用工具
MCP服务器提供 **9个综合分析工具** 增强的指导适用于所有25种以上支持的语言:
### 🎯 **增强工具体验** ⭐ *v1.2.0中的新功能*
现在每个工具都包括 **丰富的指导** 具有视觉层次:
- **🎯 目的** -明确解释该工具的功能
- **🔧 用法** -何时以及如何有效地使用该工具
- **⚡ 表现** -速度预期和缓存信息
- **🔄 工作流程** -最佳工具排序建议
- **💡 提示** -最佳效果的专业提示
### 📚 **使用指南工具**
|工具|描述|主要功能|
|------|-------------|--------------|
| `get_usage_guide` | **新** -包含工作流程、最佳实践和示例的全面指导|完整的文档、工作流程模式、性能指南|
### 🛠️ **分析工具**
|工具|描述|多语言功能|性能|
|------|-------------|------------------------|-------------|
| `analyze_codebase` |使用结构度量和复杂性评估完成项目分析|语言检测、框架识别、跨语言依赖关系映射|⚡ 昂贵(10-60s)|
| `find_definition` |使用详细的元数据和文档查找符号定义|通用AST遍历,语言无关的符号解析|⚡ 快速(\<3s)|
| `find_references` |查找整个代码库中对符号的所有引用|跨文件和跨语言引用跟踪|⚡ 快速(\<3s)|
| `find_callers` |识别调用指定函数的所有函数|多语言调用图分析|⚡ 快速(\<3s)|
| `find_callees` |列出指定函数调用的所有函数|跨语言通用函数调用检测|⚡ 快速(\<3s)|
| `complexity_analysis` |使用重构建议分析代码复杂性|特定语言的复杂性模式、通用指标|⚡ 中等(5-15s)|
| `dependency_analysis` |生成模块依赖图并导入关系|跨语言依赖检测、循环依赖分析|⚡ 中等(3-10s)|
| `project_statistics` |全面的项目健康指标和统计数据|多语言项目分析、可维护性索引|⚡ 快速(\<3s)|
## 使用示例
### 🎯 **加强指导入门** ⭐ *v1.2.0中的新功能*
First, get comprehensive guidance on using the tools effectively: get_usage_guide
### 🔍 **多语言分析工作流**
**代码探索工作流程:**
- analyze_codebase (build the foundation)
- project_statistics (get overview)
- find_definition("MyClass") (locate specific symbols)
- find_references("MyClass") (understand usage patterns)
**重构分析工作流程:**
- analyze_codebase
- complexity_analysis (threshold=15 for critical issues)
- find_callers("complex_function") (impact analysis)
- find_callees("complex_function") (dependency analysis)
**架构分析工作流程:**
- analyze_codebase
- dependency_analysis (identify circular dependencies)
- project_statistics (health metrics)
- complexity_analysis (quality assessment)
### 💬 **自然语言示例**
Analyze this React/TypeScript frontend with Python backend - show me the overall structure and complexity metrics
Find all references to the function "authenticate" across both the Java services and JavaScript frontend
Show me functions with complexity higher than 15 across all languages that need refactoring
Generate a dependency graph showing how the Python API connects to the React components
Detect code smells and duplicate patterns across the entire multi-language codebase
## 发展
### 需求
- Python 3.12+
- UV包管理器
- MCP-SDK
- ast-grep-py(用于多语言支持)
- rustworkx(用于高性能图形操作)
### 在本地运行
Install dependencies
uv sync
Run the server directly (auto-detects current directory)
uv run code-graph-mcp --verbose
Test with help
uv run code-graph-mcp --help
### 性能特点
- **LRU缓存**:对于大型代码库,缓存大小高达300K条目的速度提高了50-90%
- **高性能分析**:PageRank为490万节点/秒,中间中心为104K节点/秒
- **亚微秒响应**:缓存命中率为重复操作提供亚微秒级的响应时间
- **内存优化**:缓存配置针对500多个文件代码库进行了优化,内存分配为500MB
- **综合基准**:使用详细的缓存有效性指标进行性能监控
## 支持的语言
|类别|语言|计数|
|----------|-----------|-------|
| **Web和前端** |JavaScript、TypeScript、HTML、CSS |4|
| **后端和系统** |Python、Java、C#、C++、C、Rust、Go |7|
| **JVM语言** |Java、Kotlin、Scala |3|\
| **功能的** Elixir,科学 2
| **移动** |斯威夫特,飞镖|2|
| **脚本编写** |Ruby、PHP、Lua | 3|
| **数据和配置** |SQL、YAML、JSON、TOML|4|
| **标记和文档** |XML、Markdown |2|
| **额外** |Haskell、OCaml、F#|3|
| **总计** | | **25+** |
## 状态
✅ **多语言支持** -使用astgrep后端的25种以上编程语言\
✅ **集成MCP SDK** -所有语言的完全协议合规性\
✅ **通用架构** -语言无关图结构和分析\
✅ **服务器架构完成** -企业级多语言结构\
✅ **实施核心工具** -8个跨所有语言的综合分析工具\
✅ **性能优化** -具有智能路由的多语言AST缓存\
✅ **生产就绪** -全面的错误处理、防御性安全