CodeGraphContext/CodeGraphContext
An MCP server plus a CLI tool that indexes local code into a graph database to provide context to AI assistants.
CodeGraphContext (CGC)
是什么
CodeGraphContext (CGC) 是一个基于 Python 的工具,可将本地代码库转换为一个 图数据库,包含符号、调用、导入、继承及其他关系。该图可通过命令行查询,或通过 MCP(模型-控制-协议)提供,使 AI 助手(如基于聊天的代码辅助工具)能够获取精确的符号级上下文,而非仅进行文本搜索。
核心功能
| 功能 | 你将获得 |
|---|---|
| 代码索引 | 使用 tree-sitter(可选 SCIP 索引器)解析源文件,并构建知识图谱。 |
| 多语言支持 | 内置支持 23 种语言(Python、JS/TS、Java、C/C++、Go、Rust、Solidity 等)。 |
| CLI 工具集 | 提供 cgc index、cgc analyze callers <sym>、cgc watch、cgc list 等命令,用于本地交互式分析。 |
| MCP 服务器模式 | 运行基于 FastAPI 的服务器(cgc mcp start),响应 AI IDE 扩展的自然语言查询。 |
| 数据库后端 | 嵌入式 FalkorDB Lite(Unix 默认)、KuzuDB、LadybugDB 或外部 Neo4j/Nornic – 可通过 cgc config db 选择。 |
| 实时更新 | cgc watch 监控目录,文件变更时自动更新图谱。 |
| 预索引包 | 提供热门仓库的预构建 .cgc 包,可跳过索引步骤。 |
| Docker 支持 | 提供官方 Docker 镜像和 Compose 配置,实现快速、语言无关的执行。 |
| 可视化(高级功能) | Web UI 可渲染代码库的交互式力导向图。 |
工作原理(高层次工作流)
- 解析 – Tree-sitter(可选 SCIP)提取符号、调用、导入等信息。
- 构建图谱 – 提取的数据转换为节点/边,并存储在选定的图数据库中。
- 查询 – CLI 或 MCP 服务器对图谱运行类似 Cypher 的查询。
- 消费 – AI 代理或开发者接收结构化结果,如调用链、类层次结构、未使用代码列表等。
典型使用场景
- 跨文件和包追踪调用链。
- 理解类层次结构和模块边界。
- 检测未使用代码、热点区域或意外依赖。
- 为 AI 助手提供人类维护者所用的相同结构化上下文。
- 生成可视化图谱用于项目文档或入职引导。
快速入门
# 安装包
pip install codegraphcontext
# 索引当前仓库
cgc index .
# 执行简单查询,例如函数的调用者
cgc analyze callers my_function
# 启动 MCP 服务器以集成 AI IDE
cgc mcp setup # 一次性配置
cgc mcp start # 启动 FastAPI 服务器
Docker 用户:
docker pull codegraphcontext/codegraphcontext:latest
docker run --rm -v "$(pwd):/workspace" codegraphcontext/codegraphcontext cgc index .
谁在维护
由 Shashank Shekhar Singh(MIT 许可证)创建并维护。项目为开源,拥有 CI 状态徽章、Discord 社区和公开网站。
以上所有信息均直接来自仓库的 README;未添加任何外部假设。
相关
- 项目
- 项目
- 项目
- 项目
- 项目