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 可渲染代码库的交互式力导向图。

工作原理(高层次工作流)

  1. 解析 – Tree-sitter(可选 SCIP)提取符号、调用、导入等信息。
  2. 构建图谱 – 提取的数据转换为节点/边,并存储在选定的图数据库中。
  3. 查询 – CLI 或 MCP 服务器对图谱运行类似 Cypher 的查询。
  4. 消费 – 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;未添加任何外部假设。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目