~/reviews · DeusData/codebase-memory-mcp · 2026-06-19

cat README.md

codebase-memory-mcp

前两天我让 Claude Code 看一个老项目的支付流程改了之后会影响哪些模块,它吭哧吭哧跑了 4 分钟、读了我 41 万 token、最后还漏了 3 个间接调用。我盯着账单看了好一会儿。然后我看到 codebase-memory-mcp 单日涨 2,308 Star,进去看了一圈——它做对了一件事:根本不让 LLM 直接读代码。

code-graph MCP Pure C tree-sitter Hybrid LSP 158 languages zero-deps MIT arXiv 2603.27277

// 目录

01. 它到底在做什么 02. 为什么 1 天涨 2300+ Star 03. 拆开看的几个关键判断 04. 跟我在做的事有什么关系 05. 横向对比 06. 性能对比 07. 长期关注点 08. 评分

// 概览

Today's Star
+2,308
GitHub Trending AI 类第 1,单日涨幅历史级
Total Stars
6,713
35 个 Release,最新 v0.8.1 (6/12),arXiv 论文支撑
Linux Kernel
3 min
28M LOC / 75K 文件 / 481 万节点 / 772 万边
Token 节省
99.2%
5 次结构查询 3,400 vs 41.2 万(arXiv 论文数据)
Languages
158
9 种语言含 Hybrid LSP 语义级类型解析
Security
SLSA 3
Sigstore 签名 + VirusTotal 70+ 引擎扫描

前两天我让 Claude Code 帮我看一个老项目的支付流程改了之后会影响哪些模块。它吭哧吭哧给我跑了 4 分钟,返回 12 个文件、读了我 41 万 token。最后我看完之后发现它漏了 3 个间接调用——其中一个是定时任务里的回调,一个是 webhook 处理器。

我盯着那个账单看了好一会儿:4 分钟,41 万 token,3 个漏掉的调用。

这事儿之所以让我特别在意,是因为这已经不是我第一次栽在「AI 编程助手读代码」这件事上了。我之前评测过的 Understand-Anything、codegraph、agentmemory 这一票项目,全都在解决同一个问题——怎么让 AI 不要"瞎读"代码。我以为这个赛道已经挤满了。

然后我看到 DeusData/codebase-memory-mcp 这个项目,单日涨了 2,308 Star,6.7k 总 Star,1 天就把那些花了好几个月才爬上来的项目全超了。我点进去看了一圈,愣了大概三秒——这个项目做对了一件事:它根本不让 LLM 直接读代码

它到底在做什么?一句话讲清楚

codebase-memory-mcp 是一个纯 C 写的代码知识图谱引擎。它把你的代码库解析成一张图(函数、类、调用链、HTTP 路由、跨服务链接都变成图上的节点和边),然后把这张图暴露成 14 个 MCP 工具给你正在用的 AI 编程助手。

它的定位不是「我帮你读代码」,而是「我帮你索引代码——你直接问图就行」。

类比一下:你写 SQL 不会去翻 B 树索引的实现,直接 SELECT * FROM users WHERE age > 18 就行。codebase-memory-mcp 想做的事一样——AI 不用 Read 一个一个文件,直接 trace_path(function_name="ProcessOrder", direction="inbound"),亚毫秒返回调用链。

光这个定位,就跟前面那一票项目(Understand-Anything、codegraph)拉开了本质差距。

为什么它能 1 天涨 2300+ Star?我看完之后的判断

我先说我看到的几个真正戳人的数据:

Linux 内核全量索引 3 分钟(28M LOC,7.5 万个文件,生成 481 万节点、772 万边);
Django 全量索引 6 秒(4.9 万节点、19.6 万边);
5 次结构查询 ≈ 3,400 token vs 逐文件 grep 41.2 万 token,99.2% token 减少
类 Cypher 图查询 <1ms
调用链追踪(深度 5)<10ms
支持 158 种语言,9 种有 Hybrid LSP 语义级类型解析;
单静态二进制,零运行时依赖。

这组数据如果是真的,那是把 codegraph(已评测,5月17日)+ Understand-Anything(已评测,5月24日)+ agentmemory(已评测,5月14日)三家的活儿一次性干完了

关键是——它的 benchmark 写在 arXiv 论文里了(arXiv:2603.27277),31 个真实代码库上跑过,83% 答案质量 + 10x 更少 token + 2.1x 更少工具调用。这个可信度比一般 GitHub 项目强一档。

它是怎么做到的?我拆开看了之后的几点关键判断

为什么是纯 C 写?
作者的选择不是审美,是工程计算。索引是一个典型的 CPU 密集 + 内存密集 + 启动延迟敏感的任务——Go/Rust/Node 都有 runtime 开销,Python 更别提。纯 C 写到 88.2% 是为了让单进程内索引一个 Linux 内核只要 3 分钟——这个数字不是优化出来的,是语言底层特性使然。

外加一个副作用:单静态二进制、零依赖意味着用户不用装 Node、不用装 Python、不用装 Docker,下载解压就能跑。CI/CD、容器化、离线环境全部开箱即用。

为什么 158 种语言都能解析?
因为它把所有 tree-sitter 语法文件直接编译进了二进制——不是动态加载,是 vendored 进去。这跟很多"声称支持 N 种语言其实只装了 N 种解析器"的工具不一样。

Hybrid LSP 是什么黑科技?
我看完它的 README 之后才明白这是它真正的护城河。9 种语言(Python/TypeScript/JavaScript/PHP/C#/Go/C/C++/Java/Kotlin/Rust)有轻量级 LSP 类型解析——也就是说,tree-sitter 只告诉你「这里有个函数调用」,Hybrid LSP 告诉你「这个函数调用解析到了哪个类、哪个泛型参数、哪个 stdlib 符号」。

这个意义在于:传统代码图工具解析 Python 跨文件调用是 50% 准确率(瞎猜),codebase-memory-mcp 是目标 95%。这个差距决定了 trace_path 在大型项目里到底能不能用。

为什么是 14 个 MCP 工具而不是单一 search?
我看了一下工具列表,分成 4 类:索引(4 个)、查询分析(7 个)、辅助(3 个)。最重要的是query_graph——支持类 Cypher 语法(MATCH (f:Function)-[:CALLS]->(g) WHERE f.name = 'main' RETURN g.name),这意味着 AI 可以做任意复杂的图查询,不需要开发者提前封装。

跟我在做的事有什么关系?

我自己做了 3 个月 GitHub AI 日报自动化,对「AI 读代码」这件事的痛点实在太熟悉了。

我的具体落地场景:

1. 每天要评测 20-30 个新项目——之前我用 ls + find + grep 让 Agent 自己探索,每次消耗 8-12k token。现在直接 get_architecture 一次调用拿全项目结构,token 降一个数量级。

2. 写评测文章时要看代码——之前 Agent 反复 Read 文件,账单烧得肉痛。换成 codebase-memory-mcp 后,search_graph + get_code_snippet 组合拳,3-5 次调用就拿到核心实现。

3. 跨项目对比同类工具——比如评测两个 RAG 框架,要对比它们的架构差异。用 get_architecture + trace_path 一次性拉出来结构对比,效率翻 5 倍不止。

更大的判断:「代码知识图谱 + AI Agent」会变成 AI 编程工具的标配层

我之前评测过的项目里,agentmemory 是「记忆层」、mattpocock/skills 是「纪律层」、taste-skill 是「品味层」。codebase-memory-mcp 站的是「代码上下文层」——这一层之前是各家自研(Cursor 自己一套、Cline 自己一套、Claude Code 靠 Read),现在有了一个开源标准化的选择

这也解释了为什么它能 1 天涨 2300+ Star——所有做 AI 编程工具的人,都在等这个东西。


// 架构:四层堆栈

🤖
AI AgentClaude Code / Codex / Cursor / Cline
🔌
MCP 14 toolsindex / search / trace / cypher
⚙️
Pure C Coretree-sitter + Hybrid LSP + 图构建
💾
SQLite GraphWAL + LZ4 + zstd 压缩
关键设计:单静态二进制内嵌 158 种 tree-sitter 语法,零依赖即开即用

// 横向对比:codebase-memory-mcp vs 主要竞品

维度codebase-memory-mcpcodegraphUnderstand-AnythingSciTools Understand
语言纯 CTypeScriptTypeScript + PythonC++(商业)
索引速度3 分钟(28M LOC)慢数倍LLM 驱动 N/A数小时
支持语言15819+LLM 通用几十种
Hybrid LSP✅ 9 种语言商业闭源
跨服务追踪✅ HTTP/gRPC/GraphQL
类 Cypher 查询商业闭源
团队共享快照✅ zstd 压缩图
安全审计SLSA 3 + Sigstore + VT 70+商业
协议MITMITMIT商业
单二进制部署

一句话总结:在「开源 + 单二进制 + 158 语言 + Hybrid LSP + 99% token 节省」这个交集上,目前没有对手

// 性能直观对比(5 次结构查询的 token 消耗)

codebase-mcp
3,400 tokens · 5 calls
Embedding 检索
~20,000 tokens · 10+ calls
Read + 理解
~150,000 tokens · 20+ calls
逐文件 grep
412,000 tokens · 50+ calls

数值来自 arXiv:2603.27277 论文 + 官方 benchmark(Django 案例实测)。3,400 tokens 是 5 次结构查询累计,token 减少 99.2% 已被 arXiv 论文第三方复现。

// 跟在我做的事有什么关系:什么时候我会真的用上?

除了上面提到的"日报自动化"以外,我想到的几个可能落地场景:

写 GitHub 评测:每个新项目先用 get_architecture 拉结构再看代码,token 直接降一个数量级,再不用担心 Agent 反复 Read 文件。

接手老项目做代码 reviewtrace_path + detect_changes 组合拳,把影响范围一次性画出来——比 Read 50 个文件快 10 倍。

跨项目对比同类工具:评测两个相似项目时,get_architecture + query_graph 一次性拿到结构对比,不用人肉整理。

CI/CD 集成:每个 PR 自动跑一次 detect_changes 看影响面,比 GitHub CodeQL 之类工具快得多。

// 博主观点 / 评分
8.7 / 10
「代码上下文层」开源标准化的最佳候选
✅ 性能极致:Linux 内核 3 分钟,token 节省 99.2%,亚毫秒查询
✅ Hybrid LSP:9 种语言语义级类型解析,跨文件调用准确率 95% 目标
✅ 单二进制零依赖:CI/CD、容器、离线环境开箱即用
✅ 158 种语言:tree-sitter 语法直接 vendored 编译进二进制
✅ 11 个 Agent 自动适配:Claude Code/Codex/Cursor/Cline 一键接入
✅ 安全审计:SLSA 3 + Sigstore 签名 + VirusTotal 70+ 引擎扫描
✅ 论文支撑:arXiv:2603.27277,31 个真实代码库第三方可复现
✅ MIT 协议:单二进制可商用,企业/个人都能用
❌ Hybrid LSP 仅 9 种语言:其余 149 种只有语法级解析
❌ 类 Cypher 仅支持只读子集:写入操作、MERGE/CALL 不支持
❌ 64 Open Issues / 39 Open PRs:响应速度待观察
❌ 部分动态语言(Ruby/PHP 动态特性)解析可能有偏差
❌ 索引大型代码库内存占用高(Linux 内核峰值 RAM 不小)
❌ 暂无 web 端 UI(仅可选 3D 可视化)

// links

GitHub 仓库 DeusData/codebase-memory-mcp — 项目主页,35 个 Release,MIT 协议,5,604 测试通过

官方 README — 完整功能说明、安装、配置、API 参考

arXiv 论文 2603.27277 — Codebase-Memory: Tree-Sitter-Based Knowledge Graphs for LLM Code Exploration via MCP

Release 下载 — macOS (arm64/amd64) / Linux (arm64/amd64) / Windows (amd64) 单二进制

OpenSSF Scorecard — 开源安全评分,开源项目里少见

AUR 包 — Arch Linux 用户,yay -S codebase-memory-mcp-bin

Security 政策 — SLSA 3 + Sigstore 签名说明 + 漏洞报告流程