🧠 Code Review Graph:16.5k Stars 的 MCP 代码知识图谱,让 Claude Code 只读该读的代码
# 🧠 Code Review Graph:16.5k Stars 的 MCP 代码知识图谱,让 Claude Code 只读该读的代码
> 项目地址:https://github.com/tirth8205/code-review-graph | ⭐ 16,558 Stars | 🐍 Python | MCP
老实说,用 Claude Code 写了一天代码之后,最肉疼的不是 API 额度,是每次它都**从头到尾把整个项目读一遍**,然后吐出一堆无关代码的 review。
说的就是这玩意儿——`code-review-graph`,一个给 AI 编码助手装上**结构感知能力**的 MCP 工具。它用 Tree-sitter 把你的代码库解析成 AST 图,只把**变更影响到的文件**丢给 AI,而不是整库扫读。
**实测数据**:6 个真实仓库(express、fastapi、flask、gin、httpx、nextjs)上平均 **8.2 倍 token 节省**,flask 仓库从 44,751 token 砍到 4,252。
## 安装:三行命令搞定
```bash
pip install code-review-graph
code-review-graph install # 自动检测你用的平台并配好 MCP
code-review-graph build # 构建代码知识图谱
```
然后打开你的项目,在 Claude Code / Codex / Cursor 里说一句:
```
Build the code review graph for this project
```
第一次构建一个 500 文件的项目大约 10 秒。之后每次文件编辑或 git commit,图自动增量更新,**不到 2 秒**就能重索引 2,900 文件的项目。
## 支持所有主流平台
一个 `install` 命令自动检测你装了哪些工具,写入对应 MCP 配置:
```bash
code-review-graph install --platform claude-code # 只配 Claude Code
code-review-graph install --platform cursor # 只配 Cursor
code-review-graph install --platform codex # 只配 Codex
```
支持 Claude Code、Codex、Cursor、Windsurf、Zed、Continue、OpenCode、Gemini CLI、Kiro、GitHub Copilot 等 **13 个平台**。装过 `uv` 的话自动走 `uvx`,没有就 fallback 到 pip 安装的版本。
## 它是怎么工作的?
三步走:
1. **Tree-sitter 解析**:把你的仓库解析成 AST,存成节点(函数、类、import)和边(调用、继承、测试覆盖)组成的图,存在 SQLite 里
2. **Blast Radius 分析**:文件改了之后,图会追踪所有调用者、依赖者和相关测试——这叫"变更辐射范围"
3. **只给 AI 喂相关代码**:AI 拿到的是最小文件集,比如 Next.js monorepo 里 27,732 个文件被过滤到只剩 **~15 个文件**,token 减少 **49 倍**
```bash
# monorepo 场景实测
code-review-graph build --path ./nextjs-monorepo
# 结果:27,732 files → ~15 relevant files
# token 从 9,882 降到 1,249
```
## 和直接读代码有什么区别?
- **Flask 改路由**:传统方式读 44,751 token(整库),code-review-graph 只读 **4,252 token**(仅影响范围)
- **Next.js 改组件**:传统读 10k+ token,它只读 **1,249 token**
- **每次审查**:传统整库重读,它增量更新 **< 2 秒**
**别踩的坑**:小项目(<50 文件)效果不明显,express 仓库甚至反而多了(693→983 tokens)。这玩意儿在**中大型项目**上才真正发威。
## 总结
- `pip install` 三行命令配好所有主流 AI 编码工具
- 基于 Tree-sitter + SQLite 的代码知识图谱,增量更新 < 2 秒
- 平均 **8.2 倍** token 节省,monorepo 场景可达 49 倍
- 支持 24 种编程语言 + Jupyter notebooks
- 通过 MCP 协议集成,不绑定任何厂商