高性能代码智能 MCP 服务器,将代码库索引为持久化知识图谱。单个静态二进制,零依赖,5362 stars。
概述
codebase-memory-mcp 是面向 AI 编程 Agent 的结构分析后端,通过 tree-sitter AST 解析将代码库构建成持久化知识图谱,提供 14 个 MCP 工具支持函数追踪、架构分析、语义搜索等查询,并支持 11 个主流 Agent(Claude Code、Codex CLI、Gemini CLI、Kiro、OpenClaw 等)的自动配置。
关键指标:
- 平均仓库:毫秒级完成索引
- Linux kernel(28M LOC / 75K 文件):3 分钟
- 单次结构查询 vs 逐文件 grep:token 减少 99.2%(3,400 vs 412,000)
- 5604 测试全通过
- 支持 158 种编程语言
研究背景:对应 arXiv 论文 2603.27277,在 31 个真实仓库上评测,83% 答案质量,10× 更少 token,2.1× 更少工具调用。
核心特性
索引能力
- 158 种语言:vendored tree-sitter grammars 编译进二进制,无需额外安装
- Hybrid LSP 语义类型推断:Python/TypeScript/JavaScript/Go/C/C++/Java/Kotlin/Rust/PHP/C# 11 种语言的轻量级 C 实现类型解析,兼容 tsserver/pyright/gopls/Roslyn 等主流 Language Server 的算法
- 基础设施代码索引:Dockerfile、Kubernetes manifests、Kustomize overlays 作为图节点,含 K8s Resource 节点和 Kustomize
IMPORTS边 - RAM-first 管道:LZ4 压缩 + 内存 SQLite,索引完成后内存释放
分析能力
- 14 个 MCP 工具:
get_architecture(架构概览)、trace_path(调用链追踪)、detect_changes(git diff 影响分析)、manage_adr(架构决策记录)、search_graph(结构搜索)、semantic_query(语义搜索)等 - Cypher 风格查询:
MATCH (f:Function)-[:CALLS]->(g) WHERE f.name = 'main' RETURN g.name - Louvain 社区检测:通过调用边聚类自动发现功能模块
- 死代码检测:找出零调用者的函数(排除入口点)
- 跨服务链接:HTTP route ↔ 调用点匹配、gRPC/GraphQL/tRPC 服务检测、Socket.IO/EventEmitter 事件通道检测
搜索能力
- 语义搜索:内置 Nomic
nomic-embed-code嵌入模型(40K tokens,768d int8),无需 API key 或 Ollama - BM25 全文搜索:SQLite FTS5 +
cbm_camel_splittokenizer(驼峰/下划线感知) - 结构搜索:正则名称模式 + 标签过滤 + 度数过滤 + 文件范围
团队共享
.codebase-memory/graph.db.zst — 压缩知识图谱快照提交到仓库,队友 clone 后直接增量更新,跳过全量重索引。两档压缩:显式索引用 zstd -9,watcher 增量更新用 zstd -3。
跨仓库智能
CROSS_*边跨多个索引仓库链接节点- 多仓库 3D 可视化(multi-galaxy 布局)
- 跨仓库架构总览
安装
一行安装(macOS/Linux):
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash包管理器:npm、PyPI、Homebrew、Scoop、Winget、Chocolatey、AUR (yay -S codebase-memory-mcp-bin)
install 自动检测并配置:Claude Code、Codex CLI、Gemini CLI、Zed、OpenCode、Antigravity、Aider、KiloCode、VS Code、OpenClaw、Kiro — 写入 MCP 配置、instruction 文件、skill 和 pre-tool hooks。
自动索引:
codebase-memory-mcp config set auto_index true边类型(选摘)
| 边类型 | 含义 |
|---|---|
CALLS | 函数调用 |
IMPORTS | 模块导入 |
IMPLEMENTS / INHERITS | 接口实现 / 继承 |
HTTP_CALLS / ASYNC_CALLS | 跨服务 HTTP / 异步调用 |
EMITS / LISTENS_ON | 事件发布 / 订阅 |
DATA_FLOWS | 参数到参数的数据流 + 字段访问链 |
SIMILAR_TO | MinHash + LSH 近克隆检测(Jaccard 评分) |
SEMANTICALLY_RELATED | 词汇不匹配但语义相关(score ≥ 0.80) |
性能基准(Apple M3 Pro)
| 操作 | 耗时 |
|---|---|
| Linux kernel 全量索引 | 3 分钟(4.81M 节点 / 7.72M 边) |
| Linux kernel 快速索引 | 1m 12s |
| Django 全量索引 | ~6s(49K 节点 / 196K 边) |
| Cypher 查询 | < 1ms |
| 名称搜索(正则) | < 10ms |
| 死代码检测 | ~150ms |
| 调用链追踪(depth=5) | < 10ms |
与同类工具对比
| 工具 | 语言数 | 部署方式 | 语义搜索 | 跨服务链接 | 团队共享 |
|---|---|---|---|---|---|
| codebase-memory-mcp | 158 | 单静态二进制 | 内置(无 API key) | HTTP/gRPC/GraphQL | .zst 快照 |
| codegraph | 19+ | MCP Server | 否 | 否 | 否 |
| understand-anything | 多 | Claude Plugin | 是(LLM) | 否 | 否 |