Token导航 LogoToken导航TokenDH.com
Codebase Memory MCP logo
开发工具未说明官方级别未说明来源级核验

Codebase Memory MCP

MCP Server

codebase-memory-mcp是一个高性能的代码智能引擎,通过构建知识图谱支持AI编程代理快速索引和查询代码库结构,适用于代码分析、跨服务链接和架构可视化等场景。

工具数

14

提示词数

0

GitHub Stars

2,361

资源数

0
代码分析静态分析Claude知识图谱ClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

DeusData

提供方

DeusData

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

代码库存储器mcp

](https://github.com/DeusData/codebase-memory-mcp/releases/latest) ![License](LICENSE) ![CI](https://github.com/DeusData/codebase-memory-mcp/actions/workflows/dry-run.yml) ![Tests](https://github.com/DeusData/codebase-memory-mcp) ![Languages](https://github.com/DeusData/codebase-memory-mcp) ![Agents](https://github.com/DeusData/codebase-memory-mcp) ![Pure C](https://github.com/DeusData/codebase-memory-mcp) ![Platform](https://github.com/DeusData/codebase-memory-mcp/releases/latest) ![OpenSSF Scorecard](https://scorecard.dev/viewer/?uri=github.com/DeusData/codebase-memory-mcp) ![SLSA 3](https://slsa.dev) ![VirusTotal](https://www.virustotal.com/gui/file/7e6624b345f994afb901475e9120881241f125dfecd36772b5ade8e73485daf9/detection) ![arXiv](https://arxiv.org/abs/2603.27277)

用于AI编码代理的最快、最高效的代码智能引擎。 完整索引平均存储库以毫秒为单位,Linux内核(28M LOC,75K文件)以3分钟为单位。在1ms内回答结构化查询。作为macOS、Linux和Windows的单个静态二进制文件发布——下载、运行 install,完成。

通过高质量解析 树保姆 跨所有155种语言的AST分析,通过Go、C、C++和TypeScript/JavaScript/JSX/TSX(更多语言即将推出)的LSP风格混合类型解析进行增强,从而生成函数、类、调用链、HTTP路由和跨服务链接的持久知识图。14个MCP工具。零依赖。跨11个编码代理的即插即用。

研究 --预印本中描述了该项目背后的设计和基准 *代码库存储器:基于树的知识图,通过MCP进行LLM代码探索* (arXiv:2603.27277)。在31个真实世界的存储库中进行了评估:答案质量为83%,令牌减少10倍,工具调用减少2.1倍。

Built-in 3D graph visualization (UI variant) — explore your knowledge graph at localhost:9749

为什么使用代码库内存mcp

  • 极高的索引速度 --Linux内核(28M LOC,75K文件)在3分钟内完成。RAM第一流水线:LZ4压缩,内存SQLite,融合Aho-Corasick模式匹配。索引后释放的内存。
  • 即插即用 --适用于macOS(arm64/amd64)、Linux(arm64/AMD 64)和Windows(AMD 64)的单一静态二进制文件。没有Docker,没有运行时依赖,没有API密钥。下载→ install → 重启代理→ done.
  • 155种语言 --编译成二进制文件的供应商树保姆语法。无需安装,无需损坏。
  • 代币数量减少120倍 --5个结构化查询:约3400个令牌,而通过逐文件搜索约412000个令牌。一个图查询可以替换数十个grep/read循环。
  • 11名特工,一个指挥部install 自动检测Claude Code、Codex CLI、Gemini CLI、Zed、OpenCode、Antigravity、Aider、KiloCode、VS Code、OpenClaw和Kiro——为每个配置MCP条目、指令文件和预工具挂钩。
  • 内置图形可视化 --3D交互式用户界面 localhost:9749 (可选UI二进制变体)。
  • 基础设施即代码索引 --Dockerfiles、Kubernetes清单和Kustomize覆盖层被索引为具有交叉引用的图节点。 Resource K8s类节点, Module Kustomize覆盖的节点 IMPORTS 引用资源的边缘。
  • 14个MCP工具 --搜索、跟踪、架构、影响分析、Cypher查询、死代码检测、跨服务HTTP链接、ADR管理等。

快速开始

单线安装 (macOS/Linux):

curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash

使用图形可视化UI:

curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash -s -- --ui

视窗 (PowerShell):

# 1. Download the installer
Invoke-WebRequest -Uri https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1 -OutFile install.ps1

# 2. (Optional but recommended) Inspect the script
notepad install.ps1

# 3. Run it
.\install.ps1

选项: --ui (图形可视化), --skip-config (仅二进制,无代理设置), --dir= (自定义位置)。

重新启动您的编码代理。说 “索引此项目” --完成。

Manual install

  1. 下载最新版本:

- codebase-memory-mcp--.tar.gz (macOS/Linux)或 .zip (Windows)--标准 - codebase-memory-mcp-ui--.tar.gz / .zip --图形可视化

  1. 提取并安装 (每个档案包括 install.shinstall.ps1):

macOS/Linux:

   tar xzf codebase-memory-mcp-*.tar.gz
   ./install.sh

Windows(PowerShell):

   Expand-Archive codebase-memory-mcp-windows-amd64.zip -DestinationPath .
   .\install.ps1
  1. 重启 你的编码代理。

install 命令会自动删除macOS隔离属性并对二进制文件进行特殊签名——无需手动 xattr/codesign 需要。

install 命令自动检测所有已安装的编码代理,并为每个代理配置MCP服务器条目、指令文件、技能和预工具挂钩。

图形可视化用户界面

如果您下载了 ui 变体:

codebase-memory-mcp --ui=true --port=9749

打开 http://localhost:9749 在您的浏览器中。UI作为后台线程与MCP服务器一起运行——只要您的代理连接,它就可用。

自动索引

启用MCP会话启动时的自动索引:

codebase-memory-mcp config set auto_index true

启用后,新项目将在第一次连接时自动索引。以前索引的项目在后台监视器中注册,以进行基于git的更改检测。可配置的文件限制: config set auto_index_limit 50000.

保持最新

codebase-memory-mcp update

MCP服务器还会在启动时检查更新,并在第一次工具调用时通知是否有新版本可用。

卸载

codebase-memory-mcp uninstall

删除所有代理配置、技能、挂钩和说明。不会删除二进制或SQLite数据库。

特性

图表与分析

  • 架构概述: get_architecture 在单个调用中返回语言、包、入口点、路由、热点、边界、层和集群
  • 架构决策记录: manage_adr 跨会话持久化架构决策
  • 鲁汶社区检测:通过对调用边进行聚类来发现功能模块
  • Git差异影响映射: detect_changes 将未提交的更改映射到受影响的符号,并进行风险分类
  • 调用图:解决跨文件和包的函数调用(导入感知、类型推断)
  • 死码检测:查找调用方为零的函数,不包括入口点
  • 类似密码的查询: MATCH (f:Function)-[:CALLS]->(g) WHERE f.name = 'main' RETURN g.name

搜索

  • 语义搜索 (semantic_query):在整个图中进行矢量搜索,由捆绑的Nomic提供支持 nomic-embed-code 嵌入(40K令牌,768d int8)编译成二进制-没有API密钥,没有Ollama,没有Docker。11-信号组合评分(TF-IDF、RRI、API/类型/装饰器签名、AST配置文件、数据流、Halstead-lite、MinHash、模块接近度、图形扩散)。
  • BM25全文搜索 通过SQLite FTS5 cbm_camel_split 标记器(支持camelCase/snake_case)
  • 结构搜索 (search_graph):正则表达式名称模式、标签过滤器、最小/最大程度、文件作用域
  • 代码搜索 (search_code):graph仅在索引文件上增强grep

跨服务链接

  • 超文本传输协议 路线↔ 呼叫站点匹配与置信度评分
  • gRPC、GraphQL、tRPC 使用protobuf路由提取进行服务检测
  • 信道检测 (EMITS / LISTENS_ON)对于Socket。IO、EventEmitter和8种语言的通用发布-订阅模式,具有恒定的分辨率

交叉回购情报

  • **CROSS_* 边缘** 跨同一存储下索引的多个存储库的链接节点
  • 多星系3D UI布局 用于跨仓库架构可视化
  • 跨仓库架构概述 组合索引车队中的服务、路线和依赖关系

边缘类型(已选择)

  • CALLS, IMPORTS, DEFINES, IMPLEMENTS, INHERITS
  • HTTP_CALLS, ASYNC_CALLS (交叉服务)
  • EMITS, LISTENS_ON (频道)
  • DATA_FLOWS 具有arg到param映射+字段访问链
  • SIMILAR_TO (MinHash+LSH近克隆检测,Jaccard评分)
  • SEMANTICALLY_RELATED (词汇不匹配,语言相同,得分≥0.80)

索引管道

  • 155本买来的树保姆语法书 编译成二进制文件
  • 通用包/模块解析 --裸说明符,如 @myorg/pkg, github.com/foo/bar, use my_crate::foo 通过清单扫描解决(package.json, go.mod, Cargo.toml, pyproject.toml, composer.json, pubspec.yaml, pom.xml, build.gradle, mix.exs, *.gemspec)
  • 基础设施即代码索引 --Dockerfiles、Kubernetes清单、Kustomize覆盖图节点
  • LSP式混合型分辨率 对于Go、C、C++和TypeScript/JavaScript/JSX/TSX(更多语言即将推出)——tsserver/TypeScript-Go的类型解析算法(参数绑定、返回类型推理、泛型替换、JSX组件调度、普通JS文件的JSDoc推理)的全新实现
  • RAM第一流水线:LZ4压缩,内存SQLite,末尾单转储。记忆释放之后。

分销与运营

  • 单一静态二进制,零基础设施:SQLite支持,坚持 ~/.cache/codebase-memory-mcp/
  • 自动同步:后台监视器检测文件更改并自动重新索引
  • 路由节点:REST端点是一级图实体
  • CLI模式: codebase-memory-mcp cli search_graph '{"name_pattern": ".*Handler.*"}'
  • 可用的:npm、PyPI、自制、Scoop、Winget、巧克力、AUR, go install

团队共享图形工件

将一个压缩文件提交到你的仓库,你的队友跳过重新索引。

.codebase-memory/graph.db.zst 是位于源代码旁边的知识图的zstd压缩快照。当您进行索引时,工件会被写入或刷新;当队友克隆repo并跑步时 codebase-memory-mcp 工件首次被解压缩,增量索引填充了它们的局部差异。

  • 格式:SQLite数据库,索引被剥离, VACUUM INTO 压实,然后压缩zstd 1.5.7(典型比例为8-13:1)
  • 两层:

- 最佳 (zstd -9 +索引条+ VACUUM INTO)--写在明确的 index_repository - (zstd -3)--由观察者编写,用于低延迟增量更新

  • 独自创立:当不存在本地DB但存在伪影时, index_repository 首先导入工件,然后运行增量索引——避免了完全的重新索引成本
  • 没有合并痛苦.gitattributes 带有 merge=ours 在首次导出时自动创建,因此并发编辑不会在二进制工件上产生冲突
  • 可选的:除非你愿意,否则永远不要承诺。添加 .codebase-memory/.gitignore 如果你希望每个人都从头开始重新索引。

结果在精神上与graphify的相似 graphify-out/ 目录,但作为一个具有显式两层导出、完整性检查导入和零合并摩擦的单个压缩文件。

运作原理

代码库内存mcp是一个 结构分析后端 --它构建和查询知识图。确实如此 包括法学硕士。相反,它依赖于您的MCP客户端(Claude Code或任何与MCP兼容的代理)作为智能层。

You: "what calls ProcessOrder?"

Agent calls: trace_call_path(function_name="ProcessOrder", direction="inbound")

codebase-memory-mcp: executes graph query, returns structured results

Agent: presents the call chain in plain English

为什么没有内置LLM? 其他代码图工具嵌入了自然语言的LLM→ 图形查询翻译。这意味着要配置额外的API键、额外的成本和另一个模型。使用MCP,您已经在与之交谈的代理 *是* 查询翻译器。

演出

以苹果M3 Pro为基准:

操作时间备注
Linux内核完整索引3分钟28M LOC,75K文件→ 2.1M个节点,4.9M条边
Linux内核快速索引1m 12s1.88M节点
Django全索引~6s49K个节点,196K条边
密码查询\ Windows注释:SmartScreen可能会显示未签名软件的警告。点击 “更多信息”“无论如何都要运行”.验证完整性 checksums.txt.

设置脚本

Automated download + install

macOS/Linux:

curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/scripts/setup.sh | bash

Windows(PowerShell):

irm https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/scripts/setup-windows.ps1 | iex

AUR(Arch Linux)

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

codebase-memory-mcp-bin 套餐可在以下网址购买:https://aur.archlinux.org/packages/codebase-memory-mcp-bin

通过Claude代码安装

You: "Install this MCP server: https://github.com/DeusData/codebase-memory-mcp"

从源代码构建

Prerequisites: C compiler + zlib

要求检查安装
C编译器 (gcc或clang)gcc --versionclang --versionmacOS: xcode-select --install,Linux: apt install build-essential
C++编译器g++ --versionclang++ --version与上述相同
压缩算法--macOS:包括在内,Linux: apt install zlib1g-dev
Gitgit --version预装在大多数系统上
git clone https://github.com/DeusData/codebase-memory-mcp.git
cd codebase-memory-mcp
scripts/build.sh                    # standard binary
scripts/build.sh --with-ui          # with graph visualization
# Binary at: build/c/codebase-memory-mcp

手动MCP配置

If you prefer not to use the install command

添加 ~/.claude/.mcp.json (全球)或项目 .mcp.json:

{
  "mcpServers": {
    "codebase-memory-mcp": {
      "command": "/path/to/codebase-memory-mcp",
      "args": []
    }
  }
}

重新启动您的代理。证实 /mcp --你应该看看 codebase-memory-mcp 14个工具。

多代理支持

install 自动检测并配置所有已安装的代理:

代理MCP配置说明挂钩
克劳德代码.claude/.mcp.json4技能工具使用前(Grep/Glob/Read提醒)
Codex CLI.codex/config.toml.codex/AGENTS.md
Gemini CLI.gemini/settings.json.gemini/GEMINI.mdBeforeTool(grep/read提醒)
Zedsettings.json (JSON)----
OpenCodeopencode.jsonAGENTS.md
反重力mcp_config.jsonAGENTS.md
助手--CONVENTIONS.md
KiloCode 的 mcp_settings.json~/.kilocode/rules/
VS代码Code/User/mcp.json
OpenClawopenclaw.json
基罗.kiro/settings/mcp.json

钩子 是建议性的(退出代码0)——它们提醒代理在调用grep/glob/read时更喜欢MCP图工具,而不会阻止工具调用。

命令行接口命令模式

每个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_call_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'

MCP工具

索引

工具说明
index_repository将存储库索引到图中。自动同步使其在那之后保持新鲜。
list_projects列出所有具有节点/边计数的索引项目。
delete_project删除项目及其所有图形数据。
index_status检查项目的索引状态。

询问

工具说明
search_graph按标签、名称模式、文件模式、程度过滤器进行结构化搜索。通过限制/偏移进行分页。
trace_call_pathBFS遍历——谁调用函数以及它调用什么。深度1-5。
detect_changes将git diff映射到受影响的符号+爆炸半径,并进行风险分类。
query_graph执行类似Cypher的图形查询(只读)。
get_graph_schema节点/边计数、关系模式、每个标签的属性定义。先运行这个。
get_code_snippet按限定名读取函数的源代码。
get_architecture代码库概述:语言、包、路由、热点、集群、ADR
search_code在索引项目文件中进行类似Grep的文本搜索。
manage_adr用于架构决策记录的CRUD。
ingest_traces获取运行时跟踪以验证HTTP_CALLS边。

图形数据模型

节点标签

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

边缘类型

CONTAINS_PACKAGE, CONTAINS_FOLDER, CONTAINS_FILE, DEFINES, DEFINES_METHOD, IMPORTS, CALLS, HTTP_CALLS, ASYNC_CALLS, IMPLEMENTS, HANDLES, USAGE, CONFIGURES, WRITES, MEMBER_OF, TESTS, USES_TYPE, FILE_CHANGES_WITH

限定名称

get_code_snippet 使用限定名称: . ..使用 search_graph 首先发现它们。

支持的Cypher子集

query_graph 支持: MATCH 具有标签和关系类型、可变长度路径, WHERE 通过比较/regex/CONTAINS, RETURN 与财产访问和 COUNT/DISTINCT, ORDER BY, LIMIT。不支持: WITH, COLLECT, OPTIONAL MATCH,突变。

忽略文件

分层:硬编码模式(.git, node_modules等等)→ .gitignore 层级→ .cbmignore (项目特定的gitignore语法)。符号链接总是被跳过。

配置

codebase-memory-mcp config list                          # show all settings
codebase-memory-mcp config set auto_index true           # auto-index on session start
codebase-memory-mcp config set auto_index_limit 50000    # max files for auto-index
codebase-memory-mcp config reset auto_index              # reset to default

环境变量

变量默认值描述
CBM_CACHE_DIR~/.cache/codebase-memory-mcp覆盖数据库存储目录。所有项目索引和配置都存储在这里。
CBM_DIAGNOSTICSfalse设置为 1true 以实现定期诊断输出 `/tmp/cbm-diagnostics-
.json`.
CBM_DOWNLOAD_URL*(GitHub发布)*覆盖更新的下载URL。用于测试或自托管部署。
# Store indexes in a custom directory
export CBM_CACHE_DIR=~/my-projects/cbm-data

自定义文件扩展名

通过JSON配置文件将其他文件扩展名映射到支持的语言。适用于框架特定的扩展,如 .blade.php (Laravel)或 .mjs (ES模块)。

每个项目 (在您的repo根目录中):

// .codebase-memory.json
{"extra_extensions": {".blade.php": "php", ".mjs": "javascript"}}

全球的 (适用于所有项目):

// ~/.config/codebase-memory-mcp/config.json  (or $XDG_CONFIG_HOME/...)
{"extra_extensions": {".twig": "html", ".phtml": "php"}}

项目配置会覆盖全局冲突扩展。未知的语言值将被自动跳过。缺少的配置文件将被忽略。

坚持

SQLite数据库存储在 ~/.cache/codebase-memory-mcp/。在重启后持续(WAL模式,ACID安全)。要重置: rm -rf ~/.cache/codebase-memory-mcp/.

故障排除

问题修复
/mcp 不显示服务器检查 .mcp.json 路径是绝对的。重新启动代理。测试: `echo '{}' \/path/to/binary` 应该输出JSON。
index_repository fails传递绝对路径: index_repository(repo_path="/absolute/path")
trace_call_path 返回0个结果使用 search_graph(name_pattern=".*PartialName.*") 首先找到确切的名字。
查询返回错误的项目结果添加 project="name" 参数。使用 list_projects 看名字。
安装后找不到二进制文件添加到PATH: export PATH="$HOME/.local/bin:$PATH"
UI未加载请确保已下载 ui 变种和ran --ui=true.检查 http://localhost:9749.

语言支持

155种语言,所有语言都通过编译成二进制文件的厂商提供的树型语法进行解析。以64个真正的开源存储库(78到49K节点)为基准:

级别分数语言
优秀 (>=90%)Lua、Kotlin、C++、Perl、Objective-C、Groovy、C、Bash、Zig、Swift、CSS、YAML、TOML、HTML、SCSS、HCL、Dockerfile
(75-89%)Python、TypeScript、TSX、Go、Rust、Java、R、Dart、JavaScript、Erlang、Elixir、Scala、Ruby、PHP、C#、SQL
功能的 (\ --repo DeusData/codebase-memory-mcp`
  • Sigstore联名签名 --所有工件上的无钥匙签名;每个版本中都包含捆绑包
  • SHA-256校验和checksums.txt 每次发布时都会发布;提取前由两个安装脚本验证
  • CodeQL SAST --如果仍有任何打开的警报,则阻止释放管道
  • 零运行时依赖关系 --没有可传递的供应链;编译时提供的所有库

v0.6.1病毒总扫描

二进制SHA-256VirusTotal
linux-amd647e6624b345f994afb901...0/72 ✅
linux-arm64ac2498c45235c1bf37f8...0/72 ✅
darwin-arm643e72c8cb364c431d99f1...0/72 ✅
darwin-amd647836878876c8956f6413...0/72 ✅
windows-amd64d773be23ed0823d58677...0/72 ✅

每个版本的扫描链接也会自动包含在GitHub发行说明中。

许可证

麻省理工学院

目录标签

目录标签

代码分析静态分析Claude知识图谱C本地部署AI编程辅助跨服务链接

支持客户端

ClaudeVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

14

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP