codebase-memory-mcp 代码知识图谱
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md ,安装 @user_3c6cb52e/index-codebases-into-mcp-knowledge-graphs-with-codebase-memory-mcp 技能,用于将代码库索引到 MCP 知识图谱。
技能介绍
要解决的问题
当 Agent 面对一个大型代码库时,最常用的手段是读文件、跑 grep。这种方式有两个硬伤:一是慢,每次查询都要重新扫一遍源码;二是浅,文本匹配能告诉你某个字符串出现在哪,却回答不了"这个函数被谁调用""改这个接口会影响哪些模块"这类结构性问题。架构、符号定义、路由注册、调用链这些信息分散在不同文件里,人工梳理成本高,Agent 也很难靠拼凑上下文还原出来。
它的工作原理
这个技能把仓库索引成一个本地 MCP 代码知识图谱,让 Agent 通过 MCP 协议直接查询图结构,而不是逐文件阅读。
- 解析层:基于 tree-sitter 做 AST 分析,覆盖 158 种语言;对 Python、TypeScript 等语言额外叠加 Hybrid LSP 语义类型解析,把语法层面的符号提升为带类型信息的实体。
- 建模层:从 AST 中提取模块、符号、路由、依赖关系与调用路径,构成一张可遍历的图,因此支持架构、符号、路由、影响范围、调用链五类查询。
- 检索层:提供
semantic_query,对整张图做向量检索。向量由内置的 Nomicnomic-embed-code模型生成(40K token 上下文、768d int8 量化),直接编译进静态二进制,不需要 API Key,也不依赖 Ollama 或 Docker。 - 性能表现:按上游文档的说法,中等规模仓库索引耗时在毫秒级,Linux 内核(28M LOC、75K 文件)大约 3 分钟完成索引,结构查询的响应在微秒级。
适用边界与注意点
- 前提是你有一个 MCP 兼容的编码 Agent,并且能访问本地仓库路径。图谱是随项目生成的,不是跨仓库的全局服务。
- 解析深度因语言而异:tree-sitter 覆盖广,但 Hybrid LSP 的语义类型解析目前只覆盖 Python、TypeScript 等少数语言,其余语言拿到的主要是语法级信息。
semantic_query是本地向量检索,语义能力取决于内置 embedding 模型,和云端大模型驱动的语义理解不是一回事,别期待它替代代码评审。- 索引是一次性构建产物,代码大幅变更后需要重新索引,否则图与实际源码会漂移。
使用场景
- 接手一个几十万行的历史仓库,先索引成图,再让 Agent 按架构关系回答模块划分问题。
- 改了一个核心接口的签名后,用 impact 查询列出所有依赖它的调用方,评估回归范围。
- 在多人协作的 Monorepo 里,查询某个路由对应的 handler 与上游调用链,排查跨服务请求异常。
- 想让 AI Agent 在大型代码库里做符号级问答,先建本地图再发起 semantic_query 检索相似实现。
适合人员
- 维护遗留系统的后端工程师,需要在不改代码的前提下快速摸清模块依赖关系。
- 开发 AI 编程助手的平台工程师,想给 Agent 接上结构化的代码查询后端。
- 排查线上问题的 SRE,需要从路由反向追踪到具体 handler 和调用链。
- 负责 Monorepo 治理的技术负责人,定期评估接口变更的影响范围。