codebase-memory-mcp:让AI编程助手终于不用每次重新读代码了
这个场景你一定不陌生:
• 刚和它讨论完某个模块的设计,转头问一个相关函数的实现,它像失忆了一样,需要你重新粘贴一堆代码
• 让Claude Code分析项目架构,它花了10分钟逐个文件搜索,还可能遗漏跨文件调用关系
• 问“谁调用了ProcessOrder函数”,AI返回的结果不完整,因为它只能看到当前上下文窗口内的文件
• 项目一大,AI就开始‘迷路’,反复读取无关文件,Token烧得飞快
核心问题:AI编程助手采用“逐文件搜索”的方式理解代码,每次新会话都要重新来一遍。中等规模项目可能需要数十次工具调用、消耗数万Token,而且很容易触到上下文限制。
今天介绍的这个项目,就是为了彻底解决这个痛点而生: 它把代码库的结构信息提取成持久化的知识图谱,讯AI通过结构化查询而非逐文件读取来理解代码。从“每次重新探索”变成“查询已有的结构记忆”。
codebase-memory-mcp 是一个为AI编码代理设计的代码智能引擎,核心能力:
• 毫秒级索引:普通项目秒级完成,Linux内核(2800万行代码)仅3分钟
• 零依赖部署:单一静态二进制文件,支持macOS、Linux、Windows
• 158种语言支持:内置tree-sitter语法解析器,覆盖Python、TypeScript、Go、Rust等主流语言
• 14个MCP工具:搜索、追踪、架构分析、死代码检测等
• 120倍Token节省:5次结构查询约3,400 Token,传统方式约412,000 Token
• 11个AI Agent自动配置:Claude Code、Codex CLI、Gemini CLI、VS Code等
学术支撑:背后有论文 arXiv:2603.27277,在31个真实代码库上评估:83%回答质量、10×更少Token、2.1×更少工具调用。
对比维度
传统逐文件探索
codebase-memory-mcp
Token消耗(5次查询)
~412,000
~3,400(99.2%↓)
查询延迟
数秒到数十秒
<1ms
跨会话记忆
无,每次重新开始
持久化存储
大代码库支持
易触上下文限制
轻松处理百万行级
跨文件调用链
需要多次搜索拼接
单次图查询即可
依赖要求
可能需要第三方服务
零依赖,单一二进制文件
在 Apple M3 Pro 上的实测数据:
操作
耗时
备注
Linux内核完整索引
3分钟
28M LOC, 75K文件 → 481万节点, 772万边
Linux内核快速索引
1分12秒
188万节点
Django完整索引
~6秒
4.9万节点, 19.6万边
Cypher图查询
<1ms
关系遍历
调用路径追踪(深度5)
<10ms
BFS遍历
死代码检测
~150ms
全图扫描 + 度过滤
为什么这么快? 纯C实现是性能的基础:没有GC暂停、没有JVM预热、没有Python解释器开销。RAM-first流水线采用 LZ4压缩 + 内存SQLite,索引完成后立即释放内存。
• 快速的语法分析,提取函数/类/方法定义、调用关系、导入
• 所有158种语言的tree-sitter语法器编译进二进制,无需安装
• Python:导入解析、dataclasses、SQLAlchemy/Pydantic支持
• TypeScript/JS/JSX/TSX:泛型、JSX组件、JSDoc推断、.d.ts声明
• Go:泛型、嵌入结构体、接口满足
• Rust:trait方法、泛型约束、UFCS路径
• Java/Kotlin/C#/PHP/C/C++:类层次、继承、泛型、命名空间等
关键设计:Hybrid LSP 不启动语言服务器进程,在进程内完成类型解析。v0.7.0引入后,TypeScript编译器索引时间从5,100秒降到50秒(100倍提升)。
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash -s -- --ui
Invoke-WebRequest -Uri https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1 -OutFile install.ps1
.\install.ps1
包管理器安装 也支持:npm、PyPI、Homebrew、Scoop、Winget、Chocolatey、AUR等
安装完成后,重启你的编码代理(如Claude Code),然后直接对它说:
"Index this project"
就这么简单!或者用CLI命令:
codebase-memory-mcp cli index_repository '{"repo_path": "/path/to/your/project"}'
索引完成后,你就可以向AI提问了:
• "这个项目的架构是什么?" → 调用 get_architecture
• "谁调用了ProcessOrder函数?" → 调用 trace_path
• "查找所有名为Handler的函数" → 调用 search_graph
• "检测未使用的函数(死代码)" → 调用 query_graph + Cypher查询
• "修改这个函数会影响哪些地方?" → 调用 detect_changes
工具
功能
index_repository
索引代码库,构建/更新知识图谱,自动保持同步
list_projects
列出所有已索引项目及节点/边数统计
delete_project
删除项目及其图谱数据
index_status
查看索引状态和进度
工具
功能
search_graph
按名称模式/标签/文件模式/度过滤搜索节点
trace_path
BFS追踪函数调用链(可指定方向/深度1-5)
query_graph
执行Cypher-like图查询(只读)
semantic_query
向量嵌入语义搜索(11信号综合评分,无需API Key)
search_code
grep风格文本搜索(图增强)
get_architecture
代码库概况:语言、包、路由、热点、集群
get_graph_schema
图谱统计(节点/边数、关系模式)
get_code_snippet
按限定名读取函数源码
工具
功能
detect_changes
Git diff → 受影响符号映射 + 爆炸半径 + 风险分类
manage_adr
架构决策记录(ADR)CRUD操作
ingest_traces
运行时链路追踪验证HTTP_CALLS边
接手一个陌生的大型代码库,不用再逐文件翻看:
你:“这个项目的架构是什么?” → AI调用 get_architecture → 返回语言分布、包结构、入口点、API路由、热点文件、架构层次...
想知道某个函数被谁调用、调用了谁:
你:“谁调用了ProcessOrder函数?” → AI调用 trace_path → 返回完整调用链:HTTP请求 → 路由 → 控制器 → ProcessOrder
修改代码前,确认会影响哪些功能:
你:“修改UserService.validate会影响哪些地方?” → AI调用 detect_changes → 返回直接调用者、间接影响、风险等级
你:“找出项目中未使用的函数” → AI调用 query_graph → 返回15个孤立函数,按文件分组
支持类Neo4j的Cypher查询语法,灵活度极高:
MATCH (f:Function)-[:CALLS]->(g) WHERE f.name = 'main' RETURN g.name
MATCH (f:Function) WHERE NOT EXISTS { (f)<-[:CALLS]-() } RETURN f.name // 死代码
codebase-memory-mcp install 自动检测已安装的代理并配置MCP服务条目:
AI Agent
配置方式
自动配置
Claude Code
.claude/.mcp.json + 4 Skills
✅
Codex CLI
.codex/config.toml + AGENTS.md
✅
Gemini CLI
.gemini/settings.json + GEMINI.md
✅
VS Code
Code/User/mcp.json
✅
Zed
settings.json
✅
Aider
CONVENTIONS.md
✅
KiloCode / Kiro / OpenCode
各自配置路径
✅
索引完成后,可导出为单个压缩文件提交到Git仓库:
git add .codebase-memory/graph.db.zst
git commit -m "Add codebase knowledge graph"
一次索引,全队复用! 队友克隆仓库后,首次运行时自动解压并增量索引,跳过全量索引的时间消耗。压缩比8-13:1,对大型代码库特别实用。
安装UI版本后,启动可视化:
codebase-memory-mcp --ui=true --port=9749
浏览器打开 http://localhost:9749,可以交互式探索知识图谱。支持多仓库“多星系”3D布局,跨仓库架构一目了然。
• 100%本地运行:代码、查询、环境信息永不离开你的机器,零遥测
• VirusTotal扫描:所有二进制由70+杀毒引擎扫描
• SLSA Level 3:GitHub Actions生成加密构建来源证明
• SHA-256校验:安装脚本解压前自动验证
• MIT开源:完整源代码公开,欢迎审计
codebase-memory-mcp config set auto_index true
启用后,新项目在MCP会话开始时自动索引,已索引项目自动注册后台watcher。
变量
默认值
说明
CBM_CACHE_DIR
~/.cache/cbm
数据库存储目录
CBM_LOG_LEVEL
info
日志级别:debug/info/warn/error
CBM_WORKERS
自动检测
并行索引线程数
如果你是以下人群,这个工具绝对值得安装:
• AI编程助手重度用户:Claude Code、Cursor、Copilot、Windsurf用户,希望Agent能真正理解你的代码库
• 大型代码库维护者:接手陌生/庞大代码库时,通过图查询快速定位关键结构
• 架构师/技术负责人:做重构前用trace_path确认影响范围,用detect_changes评估风险
• 团队协作场景:通过共享图谱文件,避免每人重复索引
• MCP生态开发者:这是MCP生态的代表作,架构设计值得深入研究
codebase-memory-mcp 通过知识图谱的方式,彻底改变了AI编码代理分析代码的方式:
维度
数据
效率提升
120倍Token节省,查询响应<1ms
深度分析
跨文件调用链、类型推断、架构理解
即装即用
零依赖,自动配置,5分钟上手
安全可靠
100%本地运行,SLSA L3,VirusTotal扫描,开源透明
生态广泛
11个AI Agent、多平台、团队共享
GitHub地址:网页链接
学术论文:https://arxiv.org/abs/2603.27277
开源协议:MIT