Koragraph について
Koragraphは、コーディングエージェント向けに複数リポジトリを横断するローカルコードグラフと、コードに紐づくメモリを構築します。ツールはMCPまたはコマンドラインから利用でき、Claude Codeのフックで各ターンに関連するグラフ情報を加えられます。
主な機能
- 01複数リポジトリ横断のコードグラフ
- 02コードに紐づく永続メモリ
- 03影響範囲と呼び出しグラフの検索
- 04MCPとコマンドラインで使える9つのツール
- 05コンテキスト量を調整できる検索結果
活用シーン
- 01変更前の依存関係の追跡
- 02複数リポジトリにまたがるコード調査
- 03修正方法やプロジェクトルールの再利用
- 04Claude Codeのセッションへのグラフ情報の追加
MCP 対応
Koragraphは、コードグラフとメモリに関する9つのツールをMCPクライアントに公開します。同じツールはコマンドラインからも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
9掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | 理解または変更したい内容のシンボル名、または簡潔で平易な説明。 |
| detail | enum | いいえ | concise(デフォルト):1 行で回答し、各行に順位付きの上位結果と file:line を保持します。full:すべての行とフィールドを返します。concise | full |
| project_id | integer|string | いいえ | 任意のスコープ:overview の表示と完全に一致するリポジトリ名またはプロジェクト名、あるいは数値 ID。グラフにプロジェクトが 1 つだけの場合は省略します。 |
詳細
AI コーディングエージェントのための究極のコンテキストレイヤー。
完全無料。すべてローカルマシン上で動作します。
指定したすべてのリポジトリをまとめたローカルナレッジグラフに加え、 記憶したコードが変更されたときにそれを把握するメモリレイヤーを備えています。
インストール
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 は一連の動作を確認し、各エディター向けの正確な設定行を出力します。
ここからの使い方は2通りあります。エージェントが MCP 経由でツールを呼び出す方法と、あなた(またはスクリプトや Claude
Code フック)がシェルから直接実行する方法です。たとえば、koragraph explore "how does checkout work"
や koragraph blast src/pay.js のように実行できます。どちらの方法でも、同じグラフを利用します。
次に、エディターで KORAINIT を実行します
これを行うとメモリレイヤーが有効になるため、省略しないでください。コーディングエージェント(Claude Code、Cursor、Windsurf など、お使いのもの)に次のように伝えます。
「
KORAINIT.mdを読み、その指示に従ってください。」
既存の CLAUDE.md / AGENTS.md を koragraph のメモリに取り込み、各ルールを対象のコードに紐付けます。すでに削除されたコードを指すルールにはフラグを立て、koragraph をセッションに組み込む設定を完了します。プロジェクトごとに一度実行してください。
設定を一切したくない場合は? 代わりに、すべてエージェントに任せられます。インデックス化したいリポジトリで次の内容を貼り付けると、インストール、インデックス化、組み込み、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 は毎回のターンでグラフをエージェントに提示できます。そのため、grep に頼るのではなく、実際にグラフが活用されます。他のエディターでは MCP 経由で koragraph を利用し、エージェントが呼び出すタイミングを判断します。
作り上げたすべてをひとつのマップに
Koragraph は、指定したすべてのリポジトリをひとつのライブグラフに変換します。構造を解決し、実際につながりがある場合にのみエッジを作成します。
- すべてのサービス、ファイル、エンドポイント、テーブル。
- 構文木に照らして解決した、実際の呼び出し関係。名前から推測したものではありません。
- リポジトリの境界をまたぐエッジ。単一リポジトリ向けのツールでは把握できない部分です。
koragraph serve:コード(寒色のノード)とそのメモリ(金色のひし形)を、ひとつのローカルページに表示します。
コードの変更を把握するメモリ
エージェントが学んだことはすべてローカルに保存され、行番号ではなく、正確な宣言に紐づけられます。コードの名前を変更しても事実は追従し、コードを削除すると事実も役目を終えます。メンテナンスが必要な 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 をご覧ください。
ツール
9 つのツールを 2 通りの方法で利用できます。エディターの MCP ツールとして、またシェルの CLI コマンドとして使えます。Claude Code ではフックが CLI も呼び出し、毎ターン関連する部分をコンテキストに追加します。そのため、エージェントが問い合わせようと思うかどうかにかかわらず、グラフが活用されます。すべてのツールは貼り付けたソースではなく、file:line を返します。書き込みを行うツールは 1 つだけです。
| ツール | シェル | 用途 |
|---|---|---|
blast_radius | koragraph blast <files…> | 編集前に実行します。リポジトリをまたいで、このコードに依存するすべてのものと、テストカバレッジのない箇所を確認できます。 |
explore | koragraph explore "<symbol or phrase>" | 宣言、ソース、呼び出し元、呼び出し先を、1 回の呼び出しで順位付けして表示します。 |
search_code | koragraph search <name> | 生のテキストではなく、グラフから名前を検索します。 |
neighbours | koragraph neighbours <symbol> | 1 つのシンボルの呼び出し元と呼び出し先を表示します。 |
changes_with | koragraph cochange <symbol> | あるシンボルと過去に一緒にリリースされたものを表示します。 |
file_symbols | koragraph symbols <file> | 1 つのファイルにある宣言を表示します。 |
overview | koragraph overview | すべてのリポジトリを対象に、最初のターンで全体像を把握できます。 |
recall | koragraph recall <symbol> | 過去の失敗とその修正、注意事項、未完了の作業を確認します。 |
remember | koragraph remember "<fact>" | コードに永続的に紐づく事実を保存します。書き込みを行う唯一のツールです。 |
すべてのクエリ動詞で --format compact|json|paths と --budget <tokens> を指定できるため、結果がエージェントのコンテキストに入る前に絞り込めます。さらに、運用向け CLI として 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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。