用途
codebase-memory-mcp 是一个高性能代码智能 MCP 服务器,由 ara.so 发布(MCP Skills 集合)。它把代码库索引成持久化的知识图谱,供智能体进行结构化查询、调用追踪和架构分析。
主要能力
- 基于图的代码智能:函数、类、调用、导入、继承关系作为可查询的节点与边。
- 结构化搜索:按模式查找符号、追踪调用链、检测死代码。
- 架构分析:社区检测、热点识别、分层分析、跨服务 HTTP 链接。
- 语义搜索:使用内置向量嵌入,无需 API 密钥。
- 语言支持:通过 tree-sitter 语法支持 155 种语言,编译进单一静态二进制。
- 14 个 MCP 工具:可在任何兼容的智能体中用自然语言访问。
- 性能:Linux 内核(2800 万行代码)约 3 分钟完成索引,普通仓库毫秒级。
安装方式
-
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
-
Windows(PowerShell):
Invoke-WebRequest -Uri https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1 -OutFile install.ps1 .\install.ps1
-
手动安装(从 releases 下载):
tar xzf codebase-memory-mcp-*.tar.gz ./install.sh
-
安装程序会自动检测 Claude Code、Cursor、Codex CLI、Gemini CLI、Zed、OpenCode、Aider、VS Code 等智能体,并自动配置 MCP 条目。
-
验证安装:
codebase-memory-mcp --version
-
安装后需重启编码智能体。
使用方式
索引代码库
-
通过智能体(推荐)说“Index this project”,服务器会以当前工作目录调用 index_repository。
-
通过 CLI:
codebase-memory-mcp index /path/to/repo
-
启用自动索引:
codebase-memory-mcp config set auto_index true codebase-memory-mcp config set auto_index_limit 50000
自动索引在 MCP 会话启动时对新项目运行,并将现有项目注册到后台文件监视器。
架构概览
请求“Show me the architecture of this codebase”会调用 get_architecture,返回语言与包结构、入口点(main 函数、HTTP 处理器)、HTTP/gRPC/GraphQL 路由、热点函数、基于 Louvain 聚类的模块边界、分层分析(表现/业务/数据)。
图搜索
- 按名称模式查找符号:search_graph,如 {"name_pattern": ".Handler.", "labels": ["Function"]}。
- 查找高入度节点:{"labels": ["Function"], "min_in_degree": 5, "limit": 20}。
- 限定文件范围:{"labels": ["Class"], "file_pattern": "./auth/."}。
调用追踪
- 查找所有调用者:get_callers,如 {"symbol_name": "authenticate", "max_depth": 3}。
- 追踪调用链:trace_symbol,如 {"symbol_name": "main", "direction": "outgoing", "max_depth": 5, "edge_types": ["CALLS"]}。
语义搜索
使用 semantic_query,如 {"query": "authentication jwt token validation", "limit": 10}。语义搜索使用内置 Nomic 嵌入(无需 API 密钥),采用 11 信号评分(TF-IDF 相关性、AST 结构相似度、API 签名匹配、数据流模式、MinHash 近似克隆检测等)。
类 Cypher 查询
使用 cypher_query 执行高级图查询,例如查找所有调用数据库操作的函数、查找继承层级、HTTP 路由到实现的映射。
死代码检测
find_dead_code,如 {"entry_points": ["main", "handler"], "min_depth": 2},返回零入 CALLS 边的函数,排除已识别的入口点(main、init、handlers、tests)。
变更影响分析
detect_changes(如 {"include_tests": true})返回变更符号及置信度、受影响的下游符号、风险分级(CRITICAL/HIGH/MEDIUM/LOW)和测试覆盖映射。
架构决策记录(ADR)
manage_adr 支持 create/list/update 操作,可记录决策的标题、状态、背景、决策与后果。
配置
- 查看配置:codebase-memory-mcp config list
- 关键设置:auto_index、auto_index_limit、watch、embedding_model(默认 nomic-embed-code)、ui_port。
- 忽略模式:在仓库根目录创建 .cbmignore(gitignore 语法)。默认忽略 node_modules、.git、dist、build、vendor、.venv、pycache。
高级功能
-
图可视化 UI:codebase-memory-mcp --ui=true --port=9749,打开 http://localhost:9749 进行 3D 交互式图探索,支持力导向布局、社区着色、按标签/文件/包过滤、点击节点查看属性与边、跨仓库多星系布局。
-
团队共享图工件:导出压缩图并提交,队友导入以避免重新索引。
codebase-memory-mcp export --output=.codebase-memory/graph.db.zst codebase-memory-mcp import --input=.codebase-memory/graph.db.zst
-
CLI 模式:无需 MCP 即可用于脚本,如 cli search_graph、cli cypher_query、cli get_architecture、cli semantic_query。
语言特定功能
- Go:通过 go.mod 解析包、接口实现检测、结构体方法解析。
- TypeScript/JavaScript:JSX 组件追踪、JSDoc 类型推断、导入别名解析、装饰器检测。
- Python:通过 INHERITS 分析类层级、基于装饰器的路由检测(Flask、FastAPI)、通过 pyproject.toml/setup.py 解析导入。
- C/C++:头文件/实现链接、预处理器感知解析、模板实例化追踪。
- 基础设施即代码:支持 Kubernetes manifests、Kustomize overlays、Dockerfile 分析。
常见工作流
- 新代码库上手:索引项目、查看架构、查看入口点、查找主要 HTTP 路由、查看热点函数。
- 重构:查找某函数的调用者、查看变更影响、查看调用链、查找死代码。
- 调试:追踪执行路径、查看端点调用者、查找相似函数、查看数据流。
- 跨服务分析:查找外部 API 调用、查看依赖服务、映射 HTTP 路由到实现、查找 pub-sub 频道。
MCP 工具参考
index_repository、search_graph、search_code、semantic_query、get_architecture、get_callers、trace_symbol、cypher_query、find_dead_code、detect_changes、manage_adr、get_context、list_routes、analyze_dependencies。
更新与卸载
- 检查更新:codebase-memory-mcp update;启动时自动检查更新(默认启用)。首次工具调用时若有新版本会通知。
- 卸载:codebase-memory-mcp uninstall(默认保留数据库);如需删除数据库:rm -rf ~/.cache/codebase-memory-mcp/。
限制说明
资料未提供收费、价格、具体平台兼容性、索引精度等方面的进一步信息。