跳转到主要内容
返回 MCP Server 列表
codegraph 图标

codegraph

全本地代码知识图谱 MCP——tree-sitter 解析全仓符号与调用边存进 SQLite,AI 一次调用拿到源码+调用链+影响面

dev-tools代码索引调用链本地运行
场景示例
  • 「X 功能是怎么工作的?」——codegraph_explore 一次返回相关符号源码和调用路径
  • 「改这个函数会影响哪些地方?」——影响面分析列出所有依赖方
  • 「从 A 是怎么调到 B 的?」——调用链追踪,回调 / React 重渲染这类动态跳转也能接上
  • 替代 grep + 逐文件阅读的探索循环——更少 token、更少往返,索引全在本地
使用注意
  • 索引由文件监听增量同步,滞后写入约 1 秒——同一回合刚改完文件别立即查,可能拿到旧结果
  • 匿名遥测默认开启:codegraph telemetry off(或环境变量 DO_NOT_TRACK=1)关闭
  • .gitignore 命中路径与超 1 MB 文件不进索引——查不到不代表代码里没有

提供的工具

默认只暴露 codegraph_explore:传自然语言问题或一把符号名,一次返回按文件分组的逐行源码 + 调用路径 + 影响面,通常一次调用就够。细粒度工具(codegraph_search / codegraph_callers / codegraph_impact 等)用环境变量 CODEGRAPH_MCP_TOOLS 按需开启。

安装三步

bash
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh
codegraph install   # 自动检测已装的 AI 客户端并写入 MCP 配置
codegraph init      # 在每个项目里建索引(生成 .codegraph/)

也可 npm i -g @colbymchenry/codegraph。支持 30+ 语言,建好后由文件事件自动增量同步。

避坑清单

  • 索引滞后写入约 1 秒:同一回合刚改完文件别立即查,会拿到旧结果
  • 查询习惯要改:结果来自全量 AST 解析,拿到就直接信,别再用 grep 复核——那是把它做过的活再做一遍;「先 grep 再逐文件读」的老循环整个可以省掉,省的就是 token 和往返
  • monorepo 注意:索引跟着 codegraph init 的目录走;只在子项目 init 过的话,从仓库根发起的查询要指定 projectPath(或干脆在根目录 init 一次)
  • 查不到 ≠ 不存在:.gitignore 命中路径、构建产物、超 1 MB 的文件不进索引
  • 匿名遥测默认开启:codegraph telemetry off 或 DO_NOT_TRACK=1 关

常用 CLI

命令说明
codegraph status索引健康状态
codegraph query <关键词>命令行直接查符号
codegraph impact <符号>改动影响面
codegraph uninit移除当前项目索引

手动注册(不用 codegraph install 时):claude mcp add codegraph -- codegraph serve --mcp