代码分析服务

提供跨25+编程语言的全面代码分析、导航和质量评估功能的多语言代码分析服务。

  • by eas4ai
  • Python
  • 本地部署
  • 88 星标
  • 更新于
在 GitHub 查看 entrepeneur4lyf/code-graph-mcp

使用说明

MCP服务器代码图

模型上下文协议服务器,提供全面的代码分析、导航和质量评估功能 超过25种编程语言.

特性

🎯 增强的工具指导和人工智能优化 ⭐ v1.2.0中的新功能

  • 综合使用指南 -内置 get_usage_guide 带有工作流、最佳实践和示例的工具
  • 丰富的工具描述 -视觉层次结构🎯 目的,🔧 使用,⚡ 性能,🔄 工作流程,💡 TIP部分
  • 性能感知设计 -对快速(<3秒)、中等(3-15秒)和昂贵(10-60秒)操作的明确期望
  • 工作流程编排 -代码探索、重构分析和架构分析的最佳工具序列
  • AI模型优化 -减少试错,改进工具编排,实现战略使用模式

🌍 多语言支持

  • 25+编程语言:JavaScript、TypeScript、Python、Java、C#、C++、C、Rust、Go、Kotlin、Scala、Swift、Dart、Ruby、PHP、Elixir、Elm、Lua、HTML、CSS、SQL、YAML、JSON、XML、Markdown、Haskell、OCaml、F#
  • 智能语言检测:基于扩展、MIME类型、shebang和内容签名分析
  • 框架识别:React、Angular、Vue、Django、Flask、Spring以及15+更多
  • 通用AST抽象:语言无关的代码分析和图结构

🔍 高级代码分析

  • 使用所有语言的度量进行完整的代码库结构分析
  • 使用AST-grep后端和智能缓存进行通用AST解析
  • 使用特定语言模式的圈复杂度计算
  • 项目健康评分和可维护性索引
  • 代码气味检测:函数长、逻辑复杂、模式重复
  • 跨语言相似性分析和模式匹配

🧭 导航和搜索

  • 跨混合语言代码库的符号定义查找
  • 跨文件和语言的引用跟踪
  • 跨语言调用的函数调用者/被调用者分析
  • 依赖映射和循环依赖检测
  • 在整个项目中生成调用图

⚡ 性能优化

  • Debounced文件监视器 -文件更改时自动重新分析,2秒智能去抖动
  • 实时更新 -代码图在主动开发过程中自动更新
  • 在重复操作时,LRU缓存速度提高了50-90%
  • 缓存大小针对500多个文件代码库进行了优化(最多300K个条目)
  • 缓存命中的亚微秒响应时间
  • 内存高效通用图构建

🏢 企业就绪

  • 所有语言的生产质量错误处理
  • 使用语言上下文进行全面的日志记录和监控
  • 使用ast-grep集成进行UV包管理

安装

快速入门(PyPI)

pip install code-graph-mcp ast-grep-py rustworkx

MCP主机集成

克劳德桌面

方法1:使用Claude CLI(推荐)

对于PyPI安装:

# Project-specific installation
claude mcp add --scope project code-graph-mcp code-graph-mcp

# User-wide installation  
claude mcp add --scope user code-graph-mcp code-graph-mcp

对于开发安装:

# Project-specific installation
claude mcp add --scope project code-graph-mcp uv run code-graph-mcp

# User-wide installation  
claude mcp add --scope user code-graph-mcp uv run code-graph-mcp

验证安装:

claude mcp list

方法2:手动配置

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "code-graph-mcp": {
      "command": "code-graph-mcp"
    }
  }
}

Cline(VS代码扩展)

在VS Code中添加到您的临床MCP设置中:

  1. 打开VS代码设置(Ctrl/Cmd+,)
  2. 搜索“临床MCP”
  3. 添加服务器配置:
{
  "cline.mcp.servers": {
    "code-graph-mcp": {
      "command": "code-graph-mcp"
    }
  }
}

继续(VS代码扩展)

添加到您的 ~/.continue/config.json:

{
  "mcpServers": [
    {
      "name": "code-graph-mcp",
      "command": "code-graph-mcp",
      "env": {}
    }
  ]
}

光标

添加到Cursor的MCP配置:

  1. 打开光标设置
  2. 导航到扩展→ MCP
  3. 添加服务器:
{
  "name": "code-graph-mcp",
  "command": "code-graph-mcp"
}

Zed编辑

添加到您的Zed settings.json:

{
  "assistant": {
    "mcp_servers": {
      "code-graph-mcp": {
        "command": "code-graph-mcp"
      }
    }
  }
}

Zencoder 的⭐

最好的AI编码工具! 添加到Zencoder MCP配置中:

{
  "mcpServers": {
    "code-graph-mcp": {
      "command": "code-graph-mcp",
      "env": {},
      "description": "Multi-language code analysis with 25+ language support"
    }
  }
}

专业提示:Zencoder的先进人工智能功能与Code Graph MCP的全面多语言分析配合得非常好。专业发展的完美结合! 🚀

帆板运动

添加到Windsurf的MCP配置中:

{
  "mcpServers": {
    "code-graph-mcp": {
      "command": "code-graph-mcp"
    }
  }
}

帮助

与Aider AI编码助手一起使用:

aider --mcp-server code-graph-mcp

打开WebUI

对于Open WebUI集成,请在MCP配置中添加:

{
  "mcp_servers": {
    "code-graph-mcp": {
      "command": "code-graph-mcp",
      "env": {}
    }
  }
}

通用MCP客户端

对于任何兼容MCP的客户端,请使用以下连接详细信息:

{
  "name": "code-graph-mcp",
  "command": "code-graph-mcp",
  "env": {}
}

Docker集成

作为容器化MCP服务器运行:

FROM python:3.12-slim
RUN pip install code-graph-mcp ast-grep-py rustworkx
WORKDIR /workspace
CMD ["code-graph-mcp"]
docker run -v $(pwd):/workspace code-graph-mcp

开发安装

对于贡献或自定义构建:

git clone <repository-url>
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
    
  2. “未找到ast grep”:安装所需的依赖项

    pip install ast-grep-py
    
  3. 权限错误:使用虚拟环境

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    # or
    venv\Scripts\activate     # Windows
    pip install code-graph-mcp ast-grep-py rustworkx
    
  4. 大型项目业绩:使用详细模式进行调试

    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

🔍 多语言分析工作流

代码探索工作流程:

1. analyze_codebase (build the foundation)
2. project_statistics (get overview)  
3. find_definition("MyClass") (locate specific symbols)
4. find_references("MyClass") (understand usage patterns)

重构分析工作流程:

1. analyze_codebase
2. complexity_analysis (threshold=15 for critical issues)
3. find_callers("complex_function") (impact analysis)
4. find_callees("complex_function") (dependency analysis)

架构分析工作流程:

1. analyze_codebase
2. dependency_analysis (identify circular dependencies)
3. project_statistics (health metrics)
4. 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缓存
✅ 生产就绪 -全面的错误处理、防御性安全