Code Graph Context
C

Code Graph Context

一个基于模型上下文协议(MCP)的服务器,通过构建代码知识图谱为大型语言模型提供TypeScript代码库的深度上下文理解。它使用AST分析解析代码,在Neo4j中构建全面的图表示,并通过语义搜索和图遍历提供智能查询能力。
2.5分
6.6K

什么是Code Graph Context MCP Server?

这是一个专门为TypeScript/NestJS项目设计的智能代码分析工具。它通过解析你的代码,构建一个详细的'代码关系图谱',然后让你能够像探索地图一样探索代码库。你可以问它'认证逻辑在哪里?'、'这个服务被哪些组件使用?'、'API端点的完整调用链是什么?'等问题,它会给出结构化的答案。

如何使用Code Graph Context?

使用过程分为三个简单步骤:1) 安装并配置工具(需要Neo4j数据库和OpenAI API密钥);2) 解析你的项目代码,构建代码图谱;3) 通过自然语言或特定工具查询代码信息。整个过程就像给代码库建立索引,然后通过智能搜索快速找到你需要的信息。

适用场景

最适合以下场景:1) 接手新项目需要快速理解代码结构;2) 重构代码时需要理清依赖关系;3) 调试复杂问题时需要追踪调用链;4) 代码审查时需要全面了解影响范围;5) 学习优秀开源项目的架构设计。

主要功能

智能代码图谱构建
自动解析TypeScript项目,构建包含类、方法、属性、依赖关系的完整代码图谱,支持AST级别的精确分析。
语义搜索
使用AI理解你的自然语言查询,找到最相关的代码片段。比如搜索'用户注册逻辑',它会找到所有相关的控制器、服务、验证逻辑等。
关系深度探索
从任意代码节点出发,探索它的所有连接关系。可以查看谁调用了这个方法、这个方法依赖哪些服务、影响哪些组件等。
NestJS框架智能理解
专门优化对NestJS框架的理解,能识别控制器、服务、模块、守卫、拦截器等框架特有概念及其关系。
权重智能遍历
搜索时自动优先显示最重要的关系(如依赖注入关系),过滤掉次要信息,让结果更聚焦、更有价值。
Claude Code无缝集成
作为MCP服务器,可以直接在Claude Code中使用,通过聊天界面就能查询代码信息,无需切换工具。
优势
深度代码理解:不只是文本搜索,而是理解代码的语义和结构关系
可视化依赖:清晰地展示代码之间的调用和依赖关系,帮助理清复杂逻辑
快速上手新项目:大幅减少理解新代码库所需的时间
精准影响分析:修改代码前,能准确知道会影响哪些其他组件
架构洞察:帮助发现代码中的架构模式和潜在问题
局限性
语言限制:目前主要支持TypeScript/NestJS,其他语言支持有限
配置要求:需要Neo4j数据库和OpenAI API,有一定配置成本
大型项目性能:处理超大型项目(万级以上文件)可能需要较多内存和时间
实时性:代码变更后需要重新解析,不是实时更新
学习曲线:需要理解基本的图谱概念和查询方式

如何使用

环境准备
安装必要的软件:1) Node.js 18+;2) Neo4j数据库(推荐使用Docker安装);3) 获取OpenAI API密钥。
安装工具
通过npm全局安装工具,或从源码构建。然后配置到Claude Code中。
配置环境变量
设置必要的环境变量,包括数据库连接信息和OpenAI API密钥。
解析项目
首次使用时,需要解析你的TypeScript项目,构建代码图谱数据库。
开始查询
通过Claude Code界面,使用自然语言或特定工具查询代码信息。

使用案例

理解认证流程
新接手一个项目,需要快速理解整个认证系统的实现逻辑,包括JWT验证、用户登录、权限检查等组件如何协作。
分析服务依赖
准备修改一个核心服务,需要知道哪些其他组件依赖这个服务,评估修改的影响范围。
查找API端点
需要了解某个功能模块提供了哪些API端点,它们的参数、返回值和使用方式。
代码重构支持
计划将一个大类拆分为多个小类,需要理清当前类的所有职责和依赖关系。

常见问题

这个工具和普通的代码搜索有什么区别?
我需要学习Cypher查询语言吗?
解析我的项目需要多长时间?
我的代码会上传到云端吗?
支持哪些TypeScript框架?
代码变更后需要重新解析吗?
Neo4j数据库是必须的吗?
可以分析JavaScript项目吗?

相关资源

GitHub仓库
项目源代码、问题反馈和贡献指南
Model Context Protocol官网
MCP协议官方文档和规范
Neo4j官方文档
Neo4j图数据库使用指南
NestJS框架官网
NestJS框架官方文档和教程
OpenAI API文档
OpenAI API使用指南和参考
Docker安装指南
Docker桌面版安装和配置教程

安装

复制以下命令到你的Client进行配置
{
  "mcpServers": {
    "code-graph-context": {
      "command": "code-graph-context",
      "env": {
        "OPENAI_API_KEY": "sk-your-key-here",
        "NEO4J_URI": "bolt://localhost:7687",
        "NEO4J_USER": "neo4j",
        "NEO4J_PASSWORD": "PASSWORD"
      }
    }
  }
}
注意:您的密钥属于敏感信息,请勿与任何人分享。

替代品

A
Acemcp
Acemcp是一个代码库索引和语义搜索的MCP服务器,支持自动增量索引、多编码文件处理、.gitignore集成和Web管理界面,帮助开发者快速搜索和理解代码上下文。
Python
7.1K
5分
B
Blueprint MCP
Blueprint MCP是一个基于Arcade生态的图表生成工具,利用Nano Banana Pro等技术,通过分析代码库和系统架构自动生成架构图、流程图等可视化图表,帮助开发者理解复杂系统。
Python
6.4K
4分
M
MCP Agent Mail
MCP Agent Mail是一个为AI编程代理设计的邮件式协调层,提供身份管理、消息收发、文件预留和搜索功能,支持多代理异步协作和冲突避免。
Python
9.4K
5分
M
MCP
微软官方MCP服务器,为AI助手提供最新微软技术文档的搜索和获取功能
11.7K
5分
A
Aderyn
Aderyn是一个开源的Solidity智能合约静态分析工具,由Rust编写,帮助开发者和安全研究人员发现Solidity代码中的漏洞。它支持Foundry和Hardhat项目,可生成多种格式报告,并提供VSCode扩展。
Rust
10.5K
5分
D
Devtools Debugger MCP
Node.js调试器MCP服务器,提供基于Chrome DevTools协议的完整调试功能,包括断点设置、单步执行、变量检查和表达式评估等
TypeScript
9.9K
4分
S
Scrapling
Scrapling是一个自适应网页抓取库,能自动学习网站变化并重新定位元素,支持多种抓取方式和AI集成,提供高性能解析和开发者友好体验。
Python
11.5K
5分
M
Mcpjungle
MCPJungle是一个自托管的MCP网关,用于集中管理和代理多个MCP服务器,为AI代理提供统一的工具访问接口。
Go
0
4.5分
F
Firecrawl MCP Server
Firecrawl MCP Server是一个集成Firecrawl网页抓取能力的模型上下文协议服务器,提供丰富的网页抓取、搜索和内容提取功能。
TypeScript
114.1K
5分
F
Figma Context MCP
Framelink Figma MCP Server是一个为AI编程工具(如Cursor)提供Figma设计数据访问的服务器,通过简化Figma API响应,帮助AI更准确地实现设计到代码的一键转换。
TypeScript
62.5K
4.5分
D
Duckduckgo MCP Server
已认证
DuckDuckGo搜索MCP服务器,为Claude等LLM提供网页搜索和内容抓取服务
Python
67.7K
4.3分
M
Minimax MCP Server
MiniMax Model Context Protocol (MCP) 是一个官方服务器,支持与强大的文本转语音、视频/图像生成API交互,适用于多种客户端工具如Claude Desktop、Cursor等。
Python
50.8K
4.8分
E
Exa Web Search
已认证
Exa MCP Server是一个为AI助手(如Claude)提供网络搜索功能的服务器,通过Exa AI搜索API实现实时、安全的网络信息获取。
TypeScript
45.5K
5分
B
Baidu Map
已认证
百度地图MCP Server是国内首个兼容MCP协议的地图服务,提供地理编码、路线规划等10个标准化API接口,支持Python和Typescript快速接入,赋能智能体实现地图相关功能。
Python
41.8K
4.5分
E
Edgeone Pages MCP Server
EdgeOne Pages MCP是一个通过MCP协议快速部署HTML内容到EdgeOne Pages并获取公开URL的服务
TypeScript
27.7K
4.8分
C
Context7
Context7 MCP是一个为AI编程助手提供实时、版本特定文档和代码示例的服务,通过Model Context Protocol直接集成到提示中,解决LLM使用过时信息的问题。
TypeScript
83.7K
4.7分
AIBase
智启未来,您的人工智能解决方案智库
© 2025AIBase