关于 Koragraph
Koragraph 为编码 Agent 构建跨多个代码库的本地代码图谱和代码锚定记忆。工具可通过 MCP 或命令行使用,并提供 Claude Code Hook,在每轮会话中加入相关图谱上下文。
主要功能
- 01跨代码库代码图谱
- 02代码锚定的持久记忆
- 03影响范围与调用图查询
- 04通过 MCP 和命令行调用九种工具
- 05可限制查询结果上下文大小
适用场景
- 01修改前追踪依赖影响
- 02跨代码库探索代码
- 03复用问题修复和项目规则
- 04为 Claude Code 会话添加图谱上下文
MCP 相关
Koragraph 向 MCP 客户端提供九种代码图谱和记忆工具。同一批工具也可通过其命令行使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
9收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 要了解或修改的内容对应的符号名称或简短通俗描述。 |
| detail | enum | 否 | concise(默认):用一行回答,并在每一行保留排名靠前的结果、file:line。full:返回所有行和所有字段。concise | full |
| project_id | integer|string | 否 | 可选范围:仓库或项目名称,必须与 overview 显示的完全一致;也可使用数字 ID。如果图中只有一个项目,则省略。 |
详细介绍
安装
npm install -g koragraphmcp
koragraph ingest /path/to/repo # point it at as many repos as you like
claude mcp add koragraph -s user -- koragraph mcp
koragraph doctor 会检查整个链路,并为任意编辑器打印出准确的配置行。
接下来有两种使用方式:让你的 Agent 通过 MCP 调用工具,或者由你(或脚本,或 Claude
Code 钩子)直接在 shell 中运行工具,例如 koragraph explore "how does checkout work"
或 koragraph blast src/pay.js。两种方式使用的是同一个图谱。
然后在编辑器中运行 KORAINIT
这一步会启用记忆层,所以别跳过。在你的编码 Agent(Claude Code、Cursor、Windsurf 或其他你使用的工具)中告诉它:
“读取
KORAINIT.md并按其说明操作。”
它会将现有的 CLAUDE.md / AGENTS.md 导入 koragraph 的记忆中,并将每条规则关联到其所指的代码,
标记指向已不存在代码的规则,最后完成 koragraph 与会话的接入。每个项目运行一次即可。
想要零配置? 也可以把整套流程交给你的 Agent。进入你想要建立索引的代码仓库,粘贴以下内容,它就会为你安装、建立索引、完成接入并运行 KORAINIT:
Install koragraph and set it up for this repo, then report back:
1. npm install -g koragraphmcp
2. koragraph ingest .
3. koragraph doctor, then run the `claude mcp add …` line it prints (or wire `koragraph mcp` into
my editor's MCP config).
4. Find KORAINIT.md in the installed package (`npm root -g`, then koragraphmcp/KORAINIT.md) and
follow it: it imports my existing CLAUDE.md / AGENTS.md into memory, verified against the code.
Report: nodes/edges indexed, whether the MCP connected, and KORAINIT's summary.
兼容
Claude Code 上的采用率最高:它的钩子让 koragraph 能在每一轮对话中把图谱呈现在 Agent 面前,因此 Agent 会真正使用它,而不是退回到 grep。其他编辑器通过 MCP 使用 koragraph,由 Agent 决定何时调用它。
你构建的一切,一张图尽收眼底
Koragraph 会将你指定的每个代码仓库转换为一张实时图谱:结构经过解析,只有确实存在的关系才会生成边。
- 每个服务、文件、端点和表。
- 通过语法树解析出的真实调用关系,而非根据名称猜测。
- 跨越代码仓库边界的关系边,而单仓库工具对此无能为力。
koragraph serve:代码(冷色节点)和记忆(金色菱形),同处一个本地页面。
知道代码何时变更的记忆
Agent 学到的一切都会保存在本地,锚定到确切的声明,而不是行号。重命名代码,事实也会随之移动;删除代码,事实就会退役。不必维护 CLAUDE.md,而且每次升级后都会保留。
- 失败及其修复。 在你第二次遭遇同样的难题之前,修复方案就会浮现。
- 隐患、规则、纠正。 只需说明一次,之后的每次会话都会遵守。
- “我们周三再推吧。” 延后事项和未完成的意图会关联到代码保存,并在你回来时立刻呈现。
经编译器评分,准确度可衡量地领先
每个图谱都由独立的编译器前端评分(CPython ast、go/parser、Roslyn、
syn、tsc、Ripper、php-ast、ctags、swiftc),绝不使用受测工具自身评分。koragraph 在 39 个语言×平面组合中赢下 34 个,并在全部 39 个组合中精确率领先。
调用图召回率,这是最难的平面:
| 语言 | koragraph | CodeGraph | GitNexus | Graphify |
|---|---|---|---|---|
| JavaScript | 87.6 | 39.4 | 41.9 | 45.1 |
| TypeScript | 70.6 | 55.2 | 50.2 | 44.2 |
| Python | 86.1 | 85.1 | 54.6 | 53.3 |
| Go | 89.1 | 85.0 | 63.8 | 65.3 |
| Java | 86.0 | 73.1 | 68.6 | 53.5 |
| C# | 83.6 | 79.8 | 50.5 | 54.4 |
| PHP | 88.9 | 88.0 | 77.1 | 31.7 |
| Ruby | 51.5 | 41.3 | 28.7 | 40.8 |
| Rust | 68.7 | 76.5 | 48.9 | 47.6 |
可从 test/benchmark 复现:固定语料库、固定竞品版本、固定预言机。完整细分见 test/benchmark/REPORT.md。
工具
共有九种工具,可通过两种方式使用:在编辑器中作为 MCP 工具,以及在 Shell 中作为 命令行命令。在 Claude Code 中,钩子也会调用命令行,在每轮对话中将相关片段推入上下文,因此无论 Agent 是否想到要询问,都会用到图谱。每个工具都返回 file:line,绝不粘贴源代码。只有一个工具会写入数据。
| 工具 | Shell | 用途 |
|---|---|---|
blast_radius | koragraph blast <files…> | 编辑前运行。查看所有依赖此内容的项目(跨仓库),以及哪些内容没有测试覆盖。 |
explore | koragraph explore "<symbol or phrase>" | 一次调用即可查看排序后的声明、源代码、调用方和被调用方。 |
search_code | koragraph search <name> | 在图谱中查找名称,而非搜索原始文本。 |
neighbours | koragraph neighbours <symbol> | 查看某个符号的调用方和被调用方。 |
changes_with | koragraph cochange <symbol> | 查看历史上曾与某个符号一同发布的内容。 |
file_symbols | koragraph symbols <file> | 查看单个文件中的声明。 |
overview | koragraph overview | 从第一轮开始熟悉所有仓库的概况。 |
recall | koragraph recall <symbol> | 查看过去的失败及其修复、隐患或待办事项。 |
remember | koragraph remember "<fact>" | 保存与代码锚定的持久事实。唯一会写入数据的工具。 |
每个查询命令都支持 --format compact|json|paths 和 --budget <tokens>,因此结果在进入 Agent 上下文之前即可裁剪。另有运维命令行工具:ingest、serve、
status、doctor、diff、trace、hooks、practice、report。
语言
c · c++ · c# · go · java · javascript · php · python · ruby · rust · swift ·
typescript / tsx,均可完整解析,全程使用 tree-sitter。另有实验性支持:kotlin · scala ·
elixir · solidity · vue · zig · objective-c · ocaml · rescript。
许可证
BUSL-1.1。可免费使用,包括工作场景。到变更日期时转换为 Apache-2.0。
由 Akhil Katakam · Ethan Faleiro 构建 · [email protected]
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。