首页 codebase-memory-mcp 速查表
1.0.0 2026-07-08 DeusData/codebase-memory-mcp
打开 Zread CodeWiki
340px

一句话

install → Index this project → 问架构/调用链/死代码/变更影响 → 毫秒返回。5 次结构查询消耗 ~3,400 tokens vs 逐文件 grep ~412,000 tokens(节省 99.2%)。

核心指标

指标数值
Linux 内核全量索引3 分钟(28M LOC / 75K 文件 → 4.81M 节点 · 7.72M 边)
单次图查询延迟<1ms
Token 节省~3,400 vs ~412,000(5 次结构查询)
支持语言158 种(编译进二进制)
MCP 工具14 个
Coding Agent 支持11 种
LicenseMIT
数据存储~/.cache/codebase-memory-mcp/(SQLite,WAL 模式)

快速定位

  • macOS / Linux 一键安装
  • Windows / WSL 安装
  • Claude Code 接入 + 使用 SOP
  • Codex CLI 接入 + 使用 SOP
  • 14 MCP 工具速查
  • 高频坑点

二、安装 SOP

macOS / Linux(推荐)

# 标准版(不含 UI)
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash

# 含 3D 图可视化 UI(localhost:9749)
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash -s -- --ui

macOS Apple Silicon 手动下载

# 从 GitHub Releases 下载对应平台二进制
# Apple Silicon: codebase-memory-mcp-darwin-arm64.tar.gz
# Intel:       codebase-memory-mcp-darwin-amd64.tar.gz
tar xzf codebase-memory-mcp-*.tar.gz
./install.sh

Windows(PowerShell)

# 1. 下载安装脚本
Invoke-WebRequest -Uri https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1 -OutFile install.ps1

# 2. 检查脚本内容(推荐)
notepad install.ps1

# 3. 解除安全标记(浏览器下载会加 Mark-of-the-Web)
Unblock-File .\install.ps1

# 4. 运行安装
.\install.ps1

# 含 UI 版
.\install.ps1 -ArgumentList "--ui"

# 仅下载二进制,不配置 Agent
.\install.ps1 -ArgumentList "--skip-config"

Windows WSL(Linux 脚本)

WSL2 内部直接跑 Linux 安装脚本:
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash

Arch Linux(AUR)

yay -S codebase-memory-mcp-bin
# 或
paru -S codebase-memory-mcp-bin

npm 安装

npm install -g codebase-memory-mcp
# 全局安装后需要手动配置 Agent 的 MCP server

PyPI 安装

pip install codebase-memory-mcp

Homebrew(macOS)

brew install codebase-memory-mcp

Scoop / Winget / Chocolatey

# Scoop
scoop install codebase-memory-mcp

# Winget
winget install DeusData.codebase-memory-mcp

# Chocolatey
choco install codebase-memory-mcp

从源码编译(需要 C 编译器)

# 克隆仓库
git clone https://github.com/DeusData/codebase-memory-mcp.git
cd codebase-memory-mcp

# macOS:安装 clang
xcode-select --install

# Linux Debian/Ubuntu
sudo apt install build-essential zlib1g-dev

# Linux Fedora
sudo dnf install gcc zlib-devel

# 编译标准版
scripts/build.sh

# 编译含 UI 版
scripts/build.sh --with-ui

# 二进制输出路径
build/c/codebase-memory-mcp

install 命令做了什么

install 命令自动探测并配置所有已安装的 Coding Agent:
AgentMCP 配置位置指令文件Hooks
Claude Code.claude/.mcp.json4 个 SkillsPreToolUse(Grep/Glob 图增强)
Codex CLI.codex/config.toml.codex/AGENTS.mdSessionStart 提醒
Gemini CLI.gemini/settings.json.gemini/GEMINI.mdBeforeTool + SessionStart
Zedsettings.json(JSONC)
OpenCodeopencode.jsonAGENTS.md
AiderCONVENTIONS.md
VS CodeCode/User/mcp.json
OpenClawopenclaw.json

三、Claude Code 接入与使用

接入步骤

方式一:install 命令自动配置(推荐)
安装脚本会自动检测 Claude Code 并写入 .claude/.mcp.json,无需手动操作。
方式二:手动配置
在项目根目录或用户级创建 .mcp.json:
{
  "mcpServers": {
    "codebase-memory-mcp": {
      "command": "/path/to/codebase-memory-mcp",
      "args": []
    }
  }
}
方式三:让 Claude Code 自己安装
你:帮我安装这个 MCP server:https://github.com/DeusData/codebase-memory-mcp

验证接入

/mcp
输出中应看到 codebase-memory-mcp 及其 14 个工具。

使用 SOP(具体例子)

重启 Claude Code(退出重进或新会话),然后:
你:Index this project
或用命令:
codebase-memory-mcp cli index_repository '{"repo_path": "/path/to/your/repo"}'
首次索引后,背景 Watcher 自动追踪文件变更,保持图谱新鲜。
你:这个项目的整体架构是什么?有哪些主要模块?

→ get_architecture 返回:语言、包、入口点、路由、热点文件、模块边界、Louvain 社区聚类
你:帮我画出主要模块之间的调用关系

→ trace_path(默认 depth=3)或 query_graph(MATCH 查询)
你:哪些地方调用了 ProcessOrder 这个函数?

→ trace_path(function_name="ProcessOrder", direction="inbound")
Claude Code 内部调用链:
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "trace_path",
    "arguments": {
      "function_name": "ProcessOrder",
      "direction": "inbound"
    }
  }
}
返回结构化 JSON,包含调用栈和文件位置。
你:帮我找出这个仓库里没有被调用的函数(死代码)

→ search_graph 过滤 degree=0,排除入口点,约 150ms 全图扫描
你:我改了 config.go,会影响哪些地方?

→ detect_changes,git diff 映射到受影响符号 + 风险分类
你:找所有和认证相关的代码

→ semantic_query 向量搜索(bundled Nomic embeddings,零 API key)

Claude Code 使用示例(完整对话流)

你:Index this project
Claude Code:正在索引...(Linux 内核约 3 分钟,中型项目毫秒级)

你:这个项目用到了哪些外部 HTTP 服务?
Claude Code:调用 get_architecture 或 search_graph 过滤 HTTP_CALLS 边
→ 返回 {method: "POST", path: "/api/auth", calls: ["LoginHandler", "TokenRefresh"]}

你:PaymentService 这个类被哪些地方引用了?
Claude Code:trace_path(function_name="PaymentService", direction="both")
→ 返回双向调用链

你:帮我查一下有没有未使用的导出函数
Claude Code:search_graph(label="Function", degree_filter="out_degree=0")
→ 过滤入口点后列出死代码

启用自动索引

codebase-memory-mcp config set auto_index true
# 新项目在首次连接时自动索引
# 之前索引过的项目注册背景 Watcher

codebase-memory-mcp config set auto_watch false
# 禁止当前会话注册背景 Watcher(多项目切换时有用)

四、Codex CLI 接入与使用

接入步骤

方式一:install 命令自动配置(推荐)
install 自动写入 .codex/AGENTS.md 和 .codex/config.toml。
方式二:手动添加 MCP server
在 .codex/config.toml 中加入:
[plugins]
[plugins.codebase-memory-mcp]
command = "codebase-memory-mcp"
args = ["--mcp"]

使用 SOP(具体例子)

codex run "Index this project using codebase-memory-mcp"
codex> 这个微服务项目的 HTTP 路由有哪些?入口点在哪里?
→ Codex 调用 search_graph 或 get_architecture
codex> DatabaseConnection 被哪些服务使用?
→ trace_path(function_name="DatabaseConnection", direction="inbound")
codex> 我改了 utils/auth.go,会影响哪些测试?
→ detect_changes,映射到受影响测试文件
codex> 用 Cypher 查所有带 "Handler" 后缀的函数
MATCH (f:Function) WHERE f.name =~ '.*Handler' RETURN f.name, f.file
→ Codex 调用 query_graph

五、14 MCP 工具速查

索引类

工具用途例子
index_repository将仓库索引为知识图谱{"repo_path": "."}
list_projects列出所有已索引项目{}
delete_project删除项目及其图数据{"repo_path": "/path"}
index_status查看索引状态{"repo_path": "/path"}

查询类

工具用途例子
search_graph按标签/名称/文件范围结构搜索{"label": "Function", "name_pattern": ".*Handler.*"}
trace_pathBFS 遍历调用链(depth 1-5){"function_name": "main", "direction": "both"}
detect_changesgit diff 映射到受影响符号{}(使用工作区 diff)
query_graphCypher 图查询(openCypher 子集){"query": "MATCH (f) RETURN f LIMIT 5"}
get_graph_schema节点/边统计,属性定义{}
get_code_snippet按限定名读取函数源码{"qualified_name": "myproj.utils.main"}
get_architecture代码库概览{}
search_code图增强的 grep(仅索引文件){"pattern": "TODO"}
manage_adr架构决策记录 CRUD{"action": "list"}
ingest_traces摄入运行时 trace 验证 HTTP_CALLS 边{"trace_file": "/path.json"}

常用 Cypher 子集

支持:MATCH, OPTIONAL MATCH, WHERE, WITH, RETURN, ORDER BY, SKIP, LIMIT, DISTINCT, UNION, CASE支持:EXISTS { (n)-[:TYPE]->() }(死代码检测神器)不支持:写入语句(MERGE/CALL 写作)。

节点类型

Project, Package, Folder, File, Module, Class, Function, Method, Interface, Enum, Type, Route, Resource

边类型

CONTAINS_PACKAGE, DEFINES, IMPORTS, CALLS, HTTP_CALLS, ASYNC_CALLS, IMPLEMENTS, MEMBER_OF, TESTS, USES_TYPE

六、配置与更新

查看/设置配置

codebase-memory-mcp config list                          # 列出所有配置
codebase-memory-mcp config set auto_index true           # 开启自动索引
codebase-memory-mcp config set auto_index_limit 50000   # 自动索引最大文件数
codebase-memory-mcp config set auto_watch false          # 禁止背景 Watcher
codebase-memory-mcp config reset auto_index              # 重置为默认值

升级

codebase-memory-mcp update
# MCP server 启动时也会检查更新,有新版本会在首次工具调用时通知

卸载

codebase-memory-mcp uninstall
# 移除所有 Agent 配置、Skills、Hooks、指令文件
# 保留二进制和 SQLite 数据库

重置数据

rm -rf ~/.cache/codebase-memory-mcp/
# 删除所有索引数据,下次使用从头重建

自定义文件扩展名

项目级(.codebase-memory.json):
{
  "extra_extensions": {
    ".blade.php": "php",
    ".mjs": "javascript"
  }
}
全局(~/.config/codebase-memory-mcp/config.json):
{
  "extra_extensions": {
    ".twig": "html",
    ".phtml": "php"
  }
}

忽略文件

三层忽略:hardcoded → .gitignore → .cbmignore。在项目根目录创建 .cbmignore(gitignore 语法)。

七、Graph 可视化 UI(含 --ui 版本)

# 启动 MCP server 时带上 UI 线程
codebase-memory-mcp --ui=true --port=9749

# 浏览器打开
open http://localhost:9749
交互式 3D 图探索知识图谱结构,支持多仓库跨仓布局。

八、环境变量

变量默认说明
CBM_CACHE_DIR~/.cache/codebase-memory-mcp/数据库存储路径
CBM_DIAGNOSTICSfalse设为 1 开启诊断(输出到 /tmp/cbm-diagnostics-<pid>.json)
CBM_LOG_LEVELinfodebug/info/warn/error/none
CBM_WORKERS自动检测容器内手动指定并行 worker 数(1-256)
CBM_ALLOWED_ROOT未设置限制 index_repository 可访问的根目录
CBM_DOWNLOAD_URLGitHub releases自托管部署时覆盖下载地址

九、团队共享图谱 Artifact

将压缩图谱文件提交到仓库,队友 clone 后无需重建:
# 索引后自动导出(或手动触发)
# 输出:.codebase-memory/graph.db.zst(zstd 压缩,8-13:1)

# 队友首次使用:自动解压 + 增量索引
.gitattributes 自动设 merge=ours,避免二进制合并冲突。

十、CLI 模式(绕过 MCP 直接用)

codebase-memory-mcp cli index_repository '{"repo_path": "/path/to/repo"}'
codebase-memory-mcp cli search_graph '{"name_pattern": ".*Handler.*", "label": "Function"}'
codebase-memory-mcp cli trace_path '{"function_name": "Search", "direction": "both"}'
codebase-memory-mcp cli query_graph '{"query": "MATCH (f:Function) RETURN f.name LIMIT 5"}'
codebase-memory-mcp cli list_projects

# 原始输出
codebase-memory-mcp cli --raw search_graph '{"label": "Function"}' | jq '.results[].name'

十一、诊断与排障

捕获诊断日志(用于上报内存/性能问题)

在 Agent 的 MCP 配置中加 env:
{
  "mcpServers": {
    "codebase-memory-mcp": {
      "command": "codebase-memory-mcp",
      "env": {
        "CBM_DIAGNOSTICS": "1"
      }
    }
  }
}
输出文件:
  • /tmp/cbm-diagnostics-<pid>.ndjson:内存轨迹(每 5 秒一条,含 rss/committed/fd/page_faults/queries)
  • /tmp/cbm-diagnostics-<pid>.json:最新快照(干净退出时删除)

常见问题

问题解决
command not foundinstall 后重开终端,或确认 PATH 含 ~/.local/bin
SmartScreen 阻止(Windows)点"更多信息"→"仍要运行",或 Unblock-File .\install.ps1
Claude Code /mcp 看不到 cbm重启 Claude Code(exit 后重进)
索引很慢确认不是首次全量索引;Linux 内核 3 分钟正常
更新后索引失效codebase-memory-mcp update 后 index_repository 重新索引
多项目切换图谱混乱codebase-memory-mcp config set auto_watch false
API key 相关错误纯本地工具,不需要任何 API key

十二、完整使用流程(最短路径)

# 1. 一键安装
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash

# 2. 重启 Claude Code / Codex CLI

# 3. 索引项目
你:Index this project

# 4. 开始问问题
你:这个项目的架构是什么?
你:哪些地方调用了 validateToken?
你:帮我找出死代码。
你:改了 auth.go 会影响哪些测试?

十三、与竞品对比

工具语言支持Token 效率查询延迟Agent 支持
codebase-memory-mcp15899.2% 节省<1ms11 种
传统 grep/read全部基准秒级
Sourcegraph全部较低秒级API
GitHub Copilot Chat有限中等秒级1 种
核心优势:本地优先、零 API key、零依赖、毫秒查询、99.2% Token 节省。

十四、MCP 工具速查

index_repository   → 索引仓库
list_projects      → 已索引项目列表
delete_project     → 删除项目
index_status       → 索引状态
search_graph       → 结构搜索(标签/名称/文件)
trace_path         → 调用链追踪(depth 1-5)
detect_changes     → 变更影响映射
query_graph        → Cypher 图查询
get_graph_schema   → 节点/边统计
get_code_snippet    → 按限定名读源码
get_architecture   → 代码库概览
search_code        → 图增强 grep
manage_adr         → 架构决策记录
ingest_traces      → 运行时 trace 摄入

十五、坑点与排障

相关链接

  • GitHub: https://github.com/DeusData/codebase-memory-mcp
  • arXiv: https://arxiv.org/abs/2603.27277
  • Releases: https://github.com/DeusData/codebase-memory-mcp/releases/latest