它是什么

一句话:给 AI 编程 Agent 装上「代码大脑」的 MCP 服务器。

你用 Claude Code、Codex CLI、Cursor 这类 AI 编程工具的时候,有没有遇到过这种问题:Agent 每次都要重新读代码、重新理解项目结构,token 烧得飞快,稍微大点的项目就懵了。

codebase-memory-mcp 的思路是:先花极短时间把整个代码库索引成一张知识图谱,然后 Agent 每次查询只需要 sub-millisecond 级别的图查询,而不是重新读文件。

它是纯 C 写的单个静态二进制文件,零依赖,下载即用。支持 158 种编程语言,索引速度极快——Linux 内核(2800 万行、7.5 万个文件)3 分钟搞定。查询一次用的 token 只有传统方式的 1/120。

解决什么问题

AI 编程 Agent 目前最大的瓶颈之一就是上下文理解效率。传统方式是"逐文件阅读":

方式问题
逐文件 grep + read5 次结构化查询要 ~412,000 tokens
每次都重新理解项目重复工作,浪费时间和钱
跨文件调用链追踪AI 很难自己理清函数间的调用关系
大型代码库超过几千文件 Agent 就开始"迷路"

codebase-memory-mcp 的方案:索引一次,反复查询。同样的 5 次结构化查询只需要 ~3,400 tokens,省了 99%。而且查询速度从"秒级"变成"亚毫秒级"。

技术架构拆解

索引引擎:tree-sitter + Hybrid LSP

核心用 tree-sitter 做 AST(抽象语法树)解析,内置了 158 种语言的 grammar,全部编译进二进制文件,不需要额外安装任何东西。

在此基础上,对 Python、TypeScript/JavaScript/JSX/TSX、PHP、C#、Go、C、C++、Java、Kotlin、Rust 这 9 种语言做了 Hybrid LSP 语义类型解析——一个轻量 C 实现,兼容主流语言服务器(tsserver、pyright、gopls、Roslyn、rust-analyzer 等),能做参数绑定、返回类型推断、泛型替换、JSX 组件分发等。

索引管线是 RAM-first 的:LZ4 压缩 → 内存 SQLite → 最后一次性 dump 到磁盘。索引完成后立即释放内存。

知识图谱:SQLite + Cypher 查询

索引结果是一张持久化的知识图谱,节点包括函数、类、HTTP 路由、K8s 资源等,边包括:

支持 Cypher 风格查询语言:

MATCH (f:Function)-[:CALLS]->(g) WHERE f.name = 'main' RETURN g.name

底层是 SQLite,持久化到 ~/.cache/codebase-memory-mcp/,跨会话不丢失。

语义搜索:内置 Embedding

这是最让人意外的部分——它内置了 Nomic nomic-embed-code 向量模型(768 维 int8,40K token 上下文),直接编译进二进制,不需要 API Key、不需要 Ollama、不需要 Docker。

语义搜索用了 11 种信号混合打分:TF-IDF、RRI、API/Type/Decorator 签名、AST 特征、数据流、Halstead-lite、MinHash、模块邻近度、图扩散等。不是简单的向量相似度,而是结构 + 语义的综合匹配。

跨服务链接

它不只是看单个文件,还能识别服务间的调用关系

14 个 MCP 工具

作为 MCP 服务器,它向 Agent 暴露了 14 个工具:

工具功能
get_architecture一键获取项目架构概览:语言、包、入口点、路由、热点、边界、分层
search_graph结构化图搜索:正则名称、标签过滤、度数范围
semantic_query语义向量搜索(内置 embedding,零配置)
search_code图增强的代码搜索(只搜已索引文件)
trace调用链追踪
detect_changesGit diff 影响分析:未提交变更影响了哪些符号
dead_code死代码检测:找到零调用者的函数
cypher_queryCypher 风格图查询
manage_adr架构决策记录管理
...以及更多搜索、分析、管理工具

Agent 兼容性

install 命令自动检测已安装的编程 Agent 并配置 MCP:

11 个 Agent,一条命令搞定。

团队协作:Graph Artifact

这是个很有意思的设计——你可以把索引好的知识图谱压缩后提交到 Git 仓库.codebase-memory/graph.db.zst),队友 clone 下来直接用,跳过重新索引。

其他亮点

学术背景

这个项目有正式的研究论文:Codebase-Memory: Tree-Sitter-Based Knowledge Graphs for LLM Code Exploration via MCP(arXiv:2603.27277)。

在 31 个真实仓库上的评测结果:

安全和供应链

这个项目在安全方面做得很扎实:

怎么用

一键安装(macOS / Linux)

curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash

带图可视化 UI:

curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash -s -- --ui

Windows(PowerShell)

Invoke-WebRequest -Uri https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1 -OutFile install.ps1
.\install.ps1

使用

# 安装后重启你的编程 Agent,然后说:
"Index this project"

# 开启自动索引
codebase-memory-mcp config set auto_index true

# 更新
codebase-memory-mcp update

# 图可视化(UI 变体)
codebase-memory-mcp --ui=true --port=9749

实际体验和局限

和同类工具对比

工具定位codebase-memory-mcp 的优势
graphify代码图谱生成更快、内置 embedding、MCP 原生集成
Sourcegraph代码搜索平台零基础设施、本地运行、Agent 直接调用
Aider / Claude Code 原生逐文件理解知识图谱持久化,token 省 99%
Greptile代码理解 API完全本地、无需云端 API、零成本

总结

24K Star 不是白来的。codebase-memory-mcp 解决的是 AI 编程 Agent 最核心的瓶颈:如何高效理解大型代码库。它的方案很暴力也很优雅——用纯 C 写一个极快的索引引擎,把代码变成知识图谱,让 Agent 的每次查询都从"翻书"变成"查数据库"。

如果你在用 AI 编程 Agent 做实际项目,特别是代码库超过几千行的项目,这个工具值得试试。一键安装、零配置、零成本,效果立竿见影。

项目地址:github.com/DeusData/codebase-memory-mcp

论文:arXiv:2603.27277

文档:deusdata.github.io/codebase-memory-mcp