codebase-memory-mcp 是一个开源工具,作用是给 AI 编程助手配备「代码库长期记忆」:它先把整个项目的源代码解析、索引成一张记录代码结构和调用关系的地图(知识图谱),AI 助手回答代码问题时直接查这张图,而不是临时翻文件。项目托管在 GitHub 的 DeusData/codebase-memory-mcp 仓库,目前约 4 万 star,采用 MIT 许可证,可免费商用;适合所有用 AI 写代码的开发者,尤其是仓库大、模块多、希望 AI 改代码改得更准的团队。

为什么 AI 编程助手需要「代码库记忆」

AI 编程助手(如 Claude Code、Cursor、GitHub Copilot)回答「这个函数被谁调用」「改这里会影响哪些模块」这类问题时,传统做法是在代码库里逐个文件搜索,再把相关文件内容塞进模型上下文。文件一多,消耗和等待时间都急剧上升。项目方给出的对比是:完成 5 个结构性查询,逐文件搜索约消耗 41.2 万 token(token 是模型处理文本的基本单位,可粗略理解为字或词),而通过 codebase-memory-mcp 只需约 3400 token,降幅 99.2%。

MCP(Model Context Protocol,模型上下文协议)是让 AI 助手连接外部工具的标准接口。这个项目就是一个 MCP 服务器——按该协议为 AI 助手提供代码查询能力的程序,身份是「查图工具」,而不是另一个大模型。

它把代码变成一张可查询的关系图

项目用 tree-sitter(一种快速把源码拆成语法树的解析器)解析代码,支持 158 种编程语言;再通过内置的「混合 LSP」层——一套类似 IDE 智能提示背后的类型推断逻辑——对 Python、TypeScript、Go、Rust、Java 等 13 种主流语言做语义类型解析,逼近 IDE「跳转到定义」的精确度。

解析结果保存为持久化知识图谱:函数、类、调用链、HTTP 路由、跨服务调用关系都是图中的节点和边。数据全部存在本地 SQLite 数据库中,代码不会离开你的机器,项目也不收集任何遥测数据。

性能与成本数据

官方在 Apple M3 Pro 上的基准测试:

  • Linux 内核源码(2800 万行、7.5 万个文件)全量索引约 3 分钟,产出 481 万节点、772 万条边;
  • 普通仓库平均毫秒级完成索引;
  • 结构查询(如「谁调用了这个函数」)1 毫秒内返回;
  • 死代码检测约 150 毫秒完成全图扫描。

团队发布的论文(arXiv:2603.27277)在 31 个真实仓库上评估:回答质量 83%,token 消耗约为逐文件探索的 1/10,工具调用次数约为其 1/2.1。

安装与接入

macOS 和 Linux 一条 curl 命令即可安装,Windows 提供 PowerShell 脚本;另有 npm、pip、Homebrew、Scoop、AUR 等安装渠道。安装脚本会自动识别本机已装的 AI 编程客户端(支持 43 种,含 Claude Code、Codex、Gemini CLI、Cursor、VS Code 等),写好人家的 MCP 配置;重启客户端后说一句「Index this project」即开始索引。项目内置 3D 图谱可视化界面,浏览器打开 localhost:9749 即可查看代码关系图。

适合谁用

  • 在大型仓库上用 AI 助手改代码的开发者:花几十分钟建一次索引,后续每次提问都秒回;
  • 微服务团队:跨服务的 HTTP 调用关系在图中可直接追踪,改接口前能看清影响面;
  • 同时使用多个 AI 客户端的开发者:一份索引,所有客户端共享;
  • 对代码隐私敏感的团队:全部处理在本机完成,无需把代码上传给任何服务。

结论

如果 AI 编程助手在你的项目上经常答不对代码问题,或为找一段代码消耗大量 token,codebase-memory-mcp 是目前解决这个问题最直接的开源方案之一:一次索引、本地存储、多客户端复用,性能数据透明可验证。它不内置大模型,只负责结构解析与查询,AI 客户端仍是「会思考」的部分,两者分工明确——这也意味着它几乎可以无缝接入任何支持 MCP 的编程助手。