codebase-memory-mcp v0.8.1 vs CodeGraph v1.0:代码知识图谱工具深度对比

发布于 2026-07-12 01:06

概述

codebase-memory-mcp 是 DeusData 开源的 MCP 服务器,以单一零依赖二进制文件提供代码库的图索引。CodeGraph 是 colbymchenry 开源的 MCP 服务器,旨在为 AI 编程代理提供本地代码知识图谱,内置 Node 运行时。两者都旨在减少 AI 代理对源码文件的直接读取,从而降低工具调用次数和 token 消耗。

实现方式

  • codebase-memory-mcp:单个约 20MB 的二进制文件,内置所有语法解析器,采用 RAM‑first 管道,索引构建后保持在内存中,定期持久化为压缩的 SQLite(ZSTD)文件。不依赖外部运行时或包管理器。
  • CodeGraph:基于 Node.js 22.5+ 的打包可执行文件(通过 npm 或安装脚本获取),实际运行使用捆绑的 Node 运行时。核心解析器基于 tree-sitter,索引增量更新并存储在项目的 .codegraph 目录中(SQLite WAL 模式)。

语言支持

  • codebase-memory-mcp:宣称内置所有语法解析器,能够进行跨语言跳转,具体语言覆盖取决于内置的 tree-sitter 解析器集合。
  • CodeGraph:基于 tree-sitter,支持主流编程语言,并专门说明在混合栈(如 JavaScript/原生、iOS/React Native)中能够跨语言边界进行符号追踪。

核心功能对比

功能 codebase-memory-mcp CodeGraph
主要 MCP 工具 trace_path(路径追踪,约 420 token)get_architecture(架构概览,约 1200 token)semantic_query(基于 nomic-embed-code 的语义搜索,约 800 token)detect_changes(变更检测及影响半径,约 600 token) codegraph_explore(自然语言查询返回相关源码、调用路径、影响半径,内置节点、搜索、调用方/被调用方等功能)可通过环境变量 CODEGRAPH_MCP_TOOLS 开放等价的 CLI 子命令(node、query、callers、callees、impact、files、status 等)
额外特性 支持通过 Git 共享 .codebase-memory/graph.db.zst 文件,使用 merge=ours 属性避免冲突;可选择不共享(加入 .gitignore 自动检测并配置已安装的 AI 代理(Claude Code、Cursor、Codex、opencode、Hermes Agent、Gemini、Antigravity、Kiro),提供 codegraph install 向导;项目初始化需要运行 codegraph init 创建索引并启动文件监听器

性能基准(各自文档中的数据)

  • codebase-memory-mcp:与传统的逐文件 grep + read_file 循环相比,单次查询的 token 消耗显著降低(路径追踪约 420 token,架构概览约 1200 token,语义搜索约 800 token,变更检测约 600 token)。在文件数超过 5000 的大型代码库中收益尤为明显。
  • CodeGraph:在七个覆盖七种语言的真实开源代码库上进行中位数测量(每仓库四次运行取中位数),使用 CodeGraph 相比不使用时:
    • 工具调用次数减少 58%
    • 响应速度提升 22%
    • 文件读取次数降至近似零
    • token 和成本的节省具有方向性意义,随查询而变化,但在规模使用时会累积显著节省。

安装与部署

  • codebase-memory-mcp

    1. 从 GitHub Releases 下载对应平台的二进制包,解压后即可使用。
    2. 官方提供一键安装脚本。
    3. 通过环境变量 CBM_CACHE_DIR 自定义缓存目录。
    4. 团队共享:将 .codebase-memory/graph.db.zst 加入 Git 仓库,并设置 .gitattributes 中的 merge=ours;如不需要共享则将该目录加入 .gitignore
  • CodeGraph

    1. 安装方式:curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh(或 PowerShell 等价脚本),或全局 npm 安装 npm i -g @colbymchenry/codegraph
    2. 安装后运行 codegraph install 按向导为已安装的 AI 代理写入 MCP 配置并在代理的指令文件中追加使用说明。
    3. 项目初始化:在项目根目录执行 codegraph init 来创建 .codegraph 目录、构建初始索引并启动文件监听器(基于 FSEvents/inotify/ReadDirectoryChangesW,带防抖)。
    4. 索引存放在项目的 .codegraph 目录,默认不建议直接提交 Git,因为索引与机器/操作系统相关(路径、换行符等)。跨平台团队可通过环境变量 CODEGRAPH_DIR 为每个平台指定不同的存储路径。

团队协作注意点

  • codebase-memory-mcp:鼓励将编译好的图谱文件通过 Git 共享,只要开发环境保持一致(相同的操作系统和文件系统属性),即可直接使用。如果环境不一致,建议各自保存本地副本或使用 merge=ours 避免冲突。
  • CodeGraph:官方文档未明确推荐提交 .codegraph 目录,实际使用中由于索引与本地机器绑定,建议每位开发者在本地重新生成索引,或在跨平台团队中使用 CODEGRAPH_DIR 分离存储以避免冲突。

许可证

  • codebase-memory-mcp:仓库未明确给出许可证文件,使用前请检查源码许可声明。
  • CodeGraph:采用 MIT 许可证。

推荐场景

  • 若团队重视零依赖、易于分发的单二进制工具,且希望通过 Git 共享预构建的代码图(开发环境较为统一),则 codebase-memory-mcp 更为合适。
  • 若需要广泛的 AI 代理自动适配(尤其是主流 IDE 插件如 Claude Code、Cursor、Codex),或项目涉及多语言混合编译(Web‑Native、跨平台移动端),并希望利用现成的向导完成代理配置,则 CodeGraph 提供更成熟的集成流程和社区支持。

两款工具均能够显著降低 AI 代理的工具调用次数和 token 消耗,选择时可基于对部署方式、语言覆盖范围以及团队协作模式的具体需求进行权衡。


如果你觉得本文有用,请点赞,收藏,转发

你有什么问题,请留言,我来帮你解答。


← 返回博客列表