CodeGraphContext

把代码库变成关系图,让 AI 助手查得准、答得对

开源 unknown 开发框架
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 4277
维护状态 活跃
是否开源 是
定价模式 unknown

项目预览

项目数据

分类开发框架
开发团队CodeGraphContext
所属国家
官网地址https://cgc.codes
定价模式unknown
价格说明定价信息待确认
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型codegraph,codegraphcontext,hacktoberfest2025,social-winter-of-code
GitHub 星标★ 4277
30天Star增速
HF 下载量
上线时间2025-08-16 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-16
浏览次数0

项目介绍

CodeGraphContext 是一个 MCP 服务器加命令行工具,它把本地代码库解析成图数据库中的节点与关系,从而为 AI 编程助手提供结构化上下文。传统做法是把代码文件切片后塞进向量库,检索时容易丢失调用链、继承关系和跨文件依赖;这个项目改用图模型,把函数、类、模块以及它们之间的调用、导入、继承等关系显式存起来。AI 助手通过 MCP 协议查询时,可以按符号、文件或关系路径拿到更精确的上下文,减少无关代码干扰。它支持本地索引、增量更新,并提供 CLI 用于初始化、查询和维护图数据,适合在已有 IDE 或 AI 客户端中接入。核心能力包括代码图构建、关系查询、MCP 上下文服务,以及面向 AI 助手的结构化检索接口。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:命令行工具 8 步

环境要求

  • 已安装 Python 与 pip(用于 pip install codegraphcontext)
  • 本地开发贡献需要 git 和 python venv 虚拟环境
  • 默认使用内置图数据库,无需自行安装数据库服务
  • 仅在改用外部 Neo4j 时需要可访问的 Neo4j 地址与账号
  • 使用 Docker 方式运行则无需在宿主机安装 Python

安装与启动步骤

  1. 1安装工具包

    用 pip 安装已发布的 CodeGraphContext 包,会自动带上所需依赖。

    pip install codegraphcontext
  2. 2验证安装

    运行帮助命令,能打印出可用 CLI 命令列表就说明装好了。

    codegraphcontext --help
  3. 3修复命令找不到

    如果提示 codegraphcontext 命令不存在,执行这行官方修复脚本。

    curl -sSL https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh | bash
  4. 4确认运行环境

    用 doctor 子命令自检环境与数据库后端是否正常。

    cgc doctor
  5. 5建立代码图索引

    在项目根目录执行,把代码解析成图数据库中的节点与关系。

    cgc index .
  6. 6查询调用关系

    以 main 为例查看调用者,验证图查询是否生效(换成自己的符号名)。

    cgc analyze callers main
  7. 7配置 MCP 客户端

    自动写入 IDE/CLI 的 MCP 配置;客户端不支持时可手动配置。

    cgc mcp setup
  8. 8启动 MCP 服务器

    启动后 AI 编程助手即可通过 MCP 协议查询代码图上下文。

    cgc mcp start

关键配置

配置项必填说明示例
mcpServers.CodeGraphContext.command是MCP 客户端启动服务器所用的可执行文件codegraphcontext
mcpServers.CodeGraphContext.args是启动 MCP 服务器的参数["mcp", "start"]
NEO4J_URI否改用外部 Neo4j 时填写的连接地址YOUR_NEO4J_URI
NEO4J_USERNAME否外部 Neo4j 的用户名YOUR_NEO4J_USERNAME
NEO4J_PASSWORD否外部 Neo4j 的密码YOUR_NEO4J_PASSWORD

如何确认成功

执行 codegraphcontext --help 能看到 CLI 命令列表,或 cgc doctor 通过自检,即表示可用。

常见问题

Q:安装后提示 codegraphcontext: command not found 怎么办?

A:运行 README 给出的一行修复脚本:curl -sSL https://raw.githubusercontent.com/CodeGraphContext/CodeGraphContext/main/scripts/post_install_fix.sh | bash,它会修复命令路径问题。

Q:必须自己安装图数据库吗?

A:不需要。默认使用嵌入式数据库,FalkorDB Lite 为默认后端,KuzuDB 为跨平台嵌入式后端;只有想用外部服务器时才执行 codegraphcontext neo4j setup。

Q:用 pipx 安装时 MCP 配置怎么写?

A:把 command 改为 pipx,args 改为 ["run", "codegraphcontext", "mcp", "start"],并在 env 中填入 NEO4J_URI、NEO4J_USERNAME、NEO4J_PASSWORD。

Q:想改代码贡献应该怎么装?

A:先 git clone 仓库,进入目录创建 venv 并激活,然后 pip install -e ".[dev]" 做可编辑安装;需要解析相关功能时加装 ".[dev,parsing]"。

注意事项

  • pip 安装已发布包即可满足使用需求,无需克隆仓库。
  • Docker 镜像标签有 latest、edge、0.4.19、0.4,进阶用法见 docs/DOCKER.md。
  • MCP 自动配置失败时,可手动把 mcpServers 配置写进客户端设置文件(如 settings.json 或 .claude.json)。
  • OpenCode 的 MCP 配置方式见官方 OpenCode MCP Guide。

核心亮点

  • 用图数据库显式存储调用、导入、继承等关系,比纯向量检索更能保留跨文件依赖
  • 同时提供 MCP 服务器和 CLI,既能接入 AI 客户端,也能手动查询和维护索引
  • Python 实现,本地索引代码,不依赖云端服务,适合私有代码场景

不足之处

  • 项目较新,图 schema 和查询接口可能随版本变化,稳定性待观察
  • 文档和社区生态仍在成长,复杂语言或大型仓库的索引效果需要更多验证

适用场景

  • 在 Cursor、Claude Desktop 等支持 MCP 的 AI 助手中接入,让问答基于代码图而非片段
  • 大型项目里快速查询某个函数的调用方或被调用方,辅助重构和影响分析
  • 团队内部搭建私有代码知识库,为 AI 代码审查和补全提供结构化上下文

替代项目

Sourcegraph、Aider

上一篇:llama_ros

下一篇:awesome-adk-agents

同类项目推荐

dsh-our-free-model 开源

装个插件就能免密钥白嫖前沿大模型,不限量

在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Fl···

★ 17750 2026-10-04
ComfyUI-sol-attn 开源

在 ComfyUI 中让视频生成注意力更快更省显存

NVIDIA Sol-Attn for ComfyUI / Triton kernel on SM89 - SM121, with zero-copy MiniMax ···

★ 155 2026-08-09
langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 147877 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 167719 2026-08-09