高性能代码智能 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_split tokenizer(驼峰/下划线感知)
  • 结构搜索:正则名称模式 + 标签过滤 + 度数过滤 + 文件范围

团队共享

.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_TOMinHash + 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-mcp158单静态二进制内置(无 API key)HTTP/gRPC/GraphQL.zst 快照
codegraph19+MCP Server否否否
understand-anything多Claude Plugin是(LLM)否否

资源