Graphicle について
Graphicle は、コーディングエージェント向けのローカルなコードグラフ兼プロジェクトメモリ MCP サーバーです。リポジトリ構造、文書、決定事項、記録したセッションをまとめ、ツールから LLM を呼び出さずに出典付きの抜粋を返します。
主な機能
- 01リポジトリからコードグラフを構築
- 02文書とレビュー済みメモリを検索
- 03トークン予算内で出典付き抜粋を返却
- 04エージェントセッションの記録と変更同期
- 05graphicle setup による検出済みクライアントの接続
- 06グラフ閲覧と変更影響の分析
活用シーン
- 01コード変更が影響する依存関係の追跡
- 02関連コードやプロジェクトの決定事項の検索
- 03タスクに必要な出典付きコンテキストの提供
- 04レビュー済みのプロジェクトメモリをセッション間で継承
MCP 対応
graphicle mcp はコードグラフとメモリのツールを MCP 経由で提供し、任意のプルリクエストツールは GitHub CLI を使います。graphicle setup は検出した MCP クライアントを設定し、ワークスペースのコンテキストは複数リポジトリにまたがって利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
コーディングエージェントのためのコードグラフとメモリーを、1つの Rust プログラムで。
Graphicle はリポジトリをコードグラフにマッピングし、プロジェクトのドキュメント、決定事項、過去のエージェントセッションを記憶して、その両方から引用付きの抜粋(該当するファイルと行)をコーディングエージェントに提供します。お使いのマシン上で動作するため、API キーもアカウントも不要で、テレメトリーもありません。
Claude Code · Cursor · Codex · VS Code · Claude Desktop · あらゆる MCP クライアントに対応
クイックスタート · 仕組み · ベンチマーク · ドキュメント · Graphify からの移行はこちら · ディスカッション
kubernetes(ca8a2a9e4 の浅いクローン)での Graphicle 0.1.8 と 0.1.7 の比較。issue #8 の 22 件の質問を Linux サーバーで実行。16 コアでの graphicle context 呼び出しは、1 回あたりの中央値が 1.34 秒で、2.99 秒から短縮しました。各呼び出しは新しいプロセスで実行しています。測定方法とすべての結果
クイックスタート
brew install graphicle-ai/tap/graphicle
cd your-repo
graphicle setup
Homebrew がない場合は、curl -fsSL https://github.com/graphicle-ai/graphicle/releases/latest/download/install.sh | sh を実行してください · リリースアーカイブ · その他のインストール方法
Windows:x86-64 向けのプレビュービルドです。まだコード署名されていません(Windows(プレビュー))。
graphicle setup はリポジトリをインデックス化し、コードグラフを構築して、見つかったコーディングエージェントに接続します。また、セッションの記録を有効にし、AGENTS.md に 2 行のセクションを追加し(Claude Code のみがエージェントの場合を除く)、プロジェクトを最新の状態に保つ Git フックをインストールします。変更するファイルをすべて表示し、変更前にそれぞれのバックアップを作成します。graphicle disconnect を実行すると、すべて元に戻せます。
続けて、エージェントに 「graphicle を使って、失敗したリクエストがどこで再試行されるか調べて」 と頼むか、ターミナルから質問します。
$ graphicle ask "where is tax added to prices?"
Evidence for "where is tax added to prices?"
4 excerpts · 606 of 3,000 tokens
[1] shop/pricing.py:1-7 price_with_tax()
"""Prices and tax."""
TAX_RATE = 0.2
def price_with_tax(price):
"""A price with the sales tax added."""
return round(price * (1 + TAX_RATE), 2)
実際の出力を、最初の抜粋の後で省略しています。モデルを設定していない場合、ask は根拠を表示します。graphicle config set model anthropic(または openai、ollama)を実行すると、回答文も表示されます。
コーディングエージェントにインストールしてもらう
これを Claude Code、Codex、または Cursor に貼り付けてください。
Install Graphicle with `brew install graphicle-ai/tap/graphicle` (or, without Homebrew,
`curl -fsSL https://github.com/graphicle-ai/graphicle/releases/latest/download/install.sh | sh`),
then run `graphicle setup --yes` in this repository and list every file it changed.
まずはこちら
| したいこと | 実行するコマンド |
|---|---|
| コーディングエージェントにコードグラフとプロジェクトのメモリを渡す | リポジトリで graphicle setup |
| ターミナルから質問する | graphicle ask "how are failed requests retried?" |
| グラフ、ソース、メモリを閲覧する | graphicle open |
| シンボルへの変更がどこに影響するか確認する | graphicle graph extract . --code-only を実行し、次に graphicle graph affected "retry()" |
| すべて正常に動作するか確認する | graphicle doctor |
| setup による変更をすべて元に戻す | graphicle disconnect |
| Graphify から移行する、またはチーム向けサーバーを実行する | Graphify からの移行 · チームサーバー |
Graphicle を選ぶ理由
- ネイティブで高速です。 Rust 製の単一プログラムです。13 のコードベースで、Graphicle の 0.1.1 メモリエンジン(プレリリースビルド)は、39 件すべての測定において Graphify 0.9.91 より 3.0〜22.7 倍短い時間で処理しました(同じマシンで CPU 3 個、それぞれ 8 ワーカーを使用し、コードのみの抽出、初回更新、変更なしの更新を測定)。グラフにはわずかな違いがあります。ノード数の差は 4.7%以内、エッジ数の差は 2.0%以内です(13 のコードベースにおける Graphify 0.9.91 との速度比較表)。0.1.1 のメモリ変更を含む後続のプレリリースビルドは、Graphify のものとは異なるグラフを生成しますが、39 件すべての測定で Graphify 0.9.91 よりピークメモリ使用量が少なく、Graphify の数値の 0.29〜0.97 倍でした(ピークメモリ比較表)。
- 設定した予算内で、出典付きのコンテキストを取得できます。 エージェントが Graphicle に問い合わせると、関連するコード、ドキュメント、決定事項が、設定したトークン予算内で出典付きの抜粋として返されます。テストではコードの検索性能が grep と同等で、トークンを節約できるとは主張していません(測定結果)。
- 回答を確認できます。 すべての抜粋にファイル名と行番号が記載されます。エージェントが提案するメモリは、承認されるまで保留されます。
- 複数のコンポーネントではなく、単一のプログラムです。 コードグラフ、メモリ、MCP サーバー、ウェブアプリ、コマンドラインが、1 つの SQLite ファイルとともに 1 つのインストールに含まれています。Python、Docker、データベースサーバーは不要です。
- ローカルでプライベートです。 アカウントもテレメトリも不要です。コードやデータがマシンの外に送信されるのは、明示的に要求した場合だけです。自動的に行われる唯一の通信は、新しいリリースを毎日確認することです。
GRAPHICLE_NO_UPDATE_NOTIFIER=1で無効にできます。
できること
- コードグラフ。 ファイル、関数、クラス、呼び出し、インポートを、モデルを使わず tree-sitter で解析します。
graphicle graphで検索、シンボルの説明、経路の追跡、インタラクティブな HTML グラフのエクスポートができます。graphicle graph extract . --code-onlyの実行後、graphicle graph affected "retry()"でシンボルに依存するものを一覧表示できます。 - プロジェクトメモリ。 ドキュメント(Markdown、PDF、Office、HTML)、レビュー済みの決定事項と手順、過去の Claude Code および Codex のセッションを、コードと併せて検索できます。
- 予算内で出典付きのコンテキストを取得できます。
graphicle contextと MCP ツールは、モデルを呼び出すことなく、トークン予算内で出典付きの抜粋を返します。 - 単一の MCP サーバーです。
graphicle mcpは、query_graph、get_neighbors、shortest_pathなど Graphify のツール名を使って、コードグラフのツールをメモリツールとともに提供します。--pull-requestsを指定すると、GitHub CLI を使うプルリクエスト用ツールlist_prs、get_pr_impact、triage_prsも提供します(MCP)。 - コードと結び付いたメモリです。 レビュー済みのメモリは、対象となる関数にひも付けられます。そのコードが変更されるとメモリは古くなりますが、通常はファイル内の別の箇所を編集しても最新の状態が保たれます(正確なルール)。ドキュメント内でコードに言及している箇所は、名前が示す定義にリンクされます(
graphicle call graph.doc_linksで一覧表示できます)。 - 複数のリポジトリに対応します。 ワークスペース内のリポジトリをまたいで情報を呼び出せます。
graphicle context --workspaceを使うか、ワークスペース MCP エンドポイントを利用してください。 - 常に最新の状態です。 回答の前に、Graphicle は変更された少数のファイルを同期します。Git フックにより、コミット、マージ、チェックアウトのたびに同期されます。
- セッションを引き継げます。 セッションキャプチャでは、完了したターンがそれぞれ保持されます。メモリをレビューすると、新しいセッションはそのメモリと直近のターンを引き継いで開始します。
- アプリを利用できます。
graphicle openで、グラフ、ソース、メモリをブラウザーに表示します。ここでメモリを承認できます。
エージェントと連携
graphicle setup は、見つかったすべてのクライアントを MCP 経由で接続します。各ファイルは <file>.graphicle-bak として一度だけバックアップされ、graphicle disconnect は追加した設定を削除します。
| クライアント | setup による接続先 | セッションの取得 |
|---|---|---|
| Claude Code | リポジトリ内の .mcp.json | .claude/settings.local.json 内のフック |
| Codex | ~/.codex/config.toml | ~/.codex/hooks.json 内のフック(Codex から信頼するよう求められます) |
| Cursor | ~/.cursor/mcp.json | |
| VS Code | リポジトリ内の .vscode/mcp.json | |
| Claude Desktop | Claude の設定フォルダー内の claude_desktop_config.json | |
| その他の MCP クライアント | 短い JSON エントリー(MCP) |
仕組み
- 同期。 Graphicle はフォルダーを読み取り(
.gitignoreを尊重し、シークレットはスキップします)、各ソースのバージョン管理されたコピーを保持して、コードグラフを構築します。 - 検索。 エージェントがツールを呼び出すと、Graphicle は変更を同期し、コード、ドキュメント、セッション、レビュー済みメモリから抜粋をランク付けして、引用とともに返します。ツールはモデルを呼び出しません。エージェント自身のモデルが抜粋を読み取ります。
- 記憶。 取得されたセッションはソースになります。エージェントが提案したメモリは、アプリで承認されるまで保留されます。
Graphicle と、コードグラフツール+メモリサーバーの比較
左の列は、Graphify のオープンソースエンジンなどのコードグラフツールと、別個のメモリサーバーの組み合わせです。メモリを含むホスト型サービスである Graphify Cloud との比較ではありません。
| コードグラフツール+メモリサーバー | Graphicle | |
|---|---|---|
| インストール | 多くの場合、異なるランタイムで動作する 2 つのツールと、データベースサーバー | 1 回のインストール |
| エージェントの接続 | 各エージェントで各ツールを設定 | graphicle setup が見つかったエージェントを接続し、graphicle disconnect で元に戻します |
| エージェント内の MCP サーバー | 2 つを個別に設定 | 1 つにグラフとメモリのツールを搭載 |
| ストレージ | グラフファイルとメモリサーバーのデータベース | 1 つのデータフォルダー内の 1 つの SQLite ファイル |
| コード構造:呼び出し、インポート、影響範囲 | グラフツール | graphicle graph |
| ドキュメント、決定事項、過去のセッション | メモリサーバー | 組み込み |
| 引用とレビュー | ツールによって異なります | 各抜粋にファイルと行を表示。エージェントのメモリは承認されるまで保留 |
ベンチマーク
各数値にはラベルが付いています。docs/benchmarks.md に、全テーブル、手法、制限事項を記載しています。エージェントのテストでは、95% 信頼区間が 0 を含まない場合にのみ差があると判断します。それ以外は同等です。長時間のセッションや、コーディングセッションを重ねて蓄積したメモリは、まだテストしていません。
- 質問あたりの時間(0.1.8、上部のグラフ)。kubernetes の
ca8a2a9e4(浅いクローン、30,315 ファイル)で、issue #8 の 22 個の質問を対象に測定しました。graphicle contextの呼び出し時間の中央値は、Linux サーバーの 16 コアで 0.1.8 が 1.34 秒、0.1.7 が 2.99 秒、4 コアで 1.38 秒対 3.89 秒、各呼び出しの前にファイルキャッシュを破棄した 4 コアで 1.90 秒対 4.55 秒でした。16 コアでは、8 回の検索に 0.96 秒対 2.52 秒かかりました。プロンプトフックが毎回実行するため、各呼び出しは新しいプロセスで行いました。同じストアでは、両リリースともすべての質問に対して同一のパケットを返し、呼び出し時のピークメモリは 3.5 GB から 0.6 GB に減少しました(手法と実行回数)。
修正で変更されるファイルの特定
オフラインランキング。チューニングに一度も使っていない SWE-bench Verified の課題100件。 Graphicle 0.1.8 は、75件の課題で修正対象のファイルを上位5ファイルに含めました。BM25(SWE-bench 形式)の61件と比べて有意な差があります(McNemar の正確検定 p = 0.013)。最初のファイル(43対35)と上位10ファイル(81対77)の差は有意ではありません。これはランキングを測定するものであり、コーディングエージェントがより多くの課題を修正できるかを測定するものではありません。このランキングを使ったエージェントのテストはまだ実施していません(手法、タスクリスト、制限事項)。
0.1.0 と 0.1.1 の速度、メモリ、エージェントテスト
- 速度。 上記の13コードベースのグラフと4パネルグラフの最初のパネルをご覧ください。13のコードベースで各3つの操作を行った場合、Graphicle 0.1.1のメモリエンジン(プレリリースビルド)は、3 CPU、各8ワーカーの同一マシン上で、39件すべての測定においてGraphify 0.9.91より3.0〜22.7倍短い時間で完了しました(プログラムごとに1セッション。KubernetesとVS Codeは1回、それ以外は3回実行した中央値)。グラフには多少の違いがあります。ノード数の差は4.7%以内、エッジ数の差は2.0%以内です(両方のグラフのサイズを含むすべての測定値)。docs/benchmarks.mdには、両プログラムが同じグラフを構築した以前の実行結果も掲載しています。Kubernetesでは0.1.0エンジンとGraphify 0.9.88を比較し(Kubernetesでの実行)、Djangoではプレリリースビルドがコードのみの抽出を7.5秒で実行したのに対し、Graphify 0.9.77は72.8秒かかりました(交互に5回実行した中央値、共有Linuxホスト1台、8ワーカー。10月8日の記録)。
- 更新。 prometheus、tokio、poetryでそれぞれ30件のコミットを行った後、Graphicle 0.1.0の
graph updateは、Graphify 0.9.91より6〜8倍短い時間で完了しました(Linuxノード1台、各実行4 CPU)。両方とも、両プログラムに共通する3種類のキー付けの違いを除き、新規ビルドと一致しました。30件のメモをサンプルとして調べたところ、関数が変更された15件にフラグが付けられ、それ以外にはフラグが付きませんでした。より広範な探索的チェックでは、誤検知もいくつか見つかりました(詳細と制限事項)。 - ピークメモリ。 上記の計測に使ったものより後に作られた、エンジンのデータ保持方法に関する0.1.1の変更を含むプレリリースビルドは、39件すべての測定(13リポジトリ、抽出と2種類の更新)でGraphify 0.9.91よりピークメモリ使用量が少なくなりました。たとえば、Kubernetesの抽出では2,092 MiB対2,767 MiB、next.jsの抽出では1,426 MiB対2,800 MiBでした。マージ済みの0.1.1ソースをビルドしたものも、再確認した5件の測定すべてで低い値を維持しました。4パネルグラフの2番目のパネルはKubernetesの抽出を示しており、2,148 MiB対2,767 MiBです(2回の実行のうち高い方のピーク値)。Linuxノード1台(8×H100、GPUは未使用)、8ワーカー。GraphicleはピークRSS、GraphifyはピークPSSで比較しています(すべての測定値)。
- コードの検索(Linuxノード上のClaude Code 2.1.287、Opus 5.5、effort medium)。Graphicleはgrepと同等です。SWE-bench Verifiedのタスク100件では、通常のClaude Code、Graphicle 0.1.0のデフォルト設定、Graphify 0.9.91が、修正によって変更されたファイルをそれぞれ95件、95件、94件で特定しました。Graphicleは通常のClaude Codeより16%、Graphifyは29%多くトークンを使用し、エージェントがGraphicleのツールを呼び出すことはありませんでした。モデルが見たことのない独自コードのタスク93件でも、3つとも再び同等でした。また、Graphicle 0.1.0のインデックスを使ったプロトタイプカード(未リリース)は、Graphifyより約20%少ないトークンで済みました。
- 質問への回答(同じ設定)。Graphifyのショーケースコーパス(質問30件)では、0.1.1のエージェントデフォルト設定(プレリリースビルド)は、通常のClaude Code(同等)より多くの事実を見つけ、事実の正答率は99.2%でした。通常のClaude Codeは94.7%、Graphify 0.9.91は87.8%でした。Graphifyより多くの事実を、より少ないトークンで見つけました。独自プロジェクトについての質問60件では3つとも同等で、GraphifyはGraphicle(プレリリース版0.1.1とプロトタイプのコンテキストフック)より、質問あたり約48k多くのトークンを使用しました(すべてのエージェントテスト)。
- エージェントメモリ。 回答の採点前に登録し、すべてのシステムで同じオープンモデルを読み手兼評価者として使用した、7つのメモリシステムとの比較では、Graphicleのプレリリースビルドは3つの開発用セットのいずれでも他を下回りませんでした。方法と注意事項を含むすべてのスコア。
FAQ
プライバシーとローカルファースト
- データフォルダーは1つです。 ソース、メモリ、セットアップで構築されるコードグラフは、1つのSQLiteストアに保存されます。保存先は、macOSでは
~/Library/Application Support/Graphicle、Linuxでは~/.local/share/graphicle、Windowsでは%LOCALAPPDATA%\Graphicleです。graphicle graph extractは、プロジェクト内の.graphicle/にグラフファイルを書き込みます。 - デフォルトではループバック接続です。 アプリとHTTPおよびMCPエンドポイントは、127.0.0.1で待ち受けます。
- テレメトリーもアカウントもありません。 Graphicleがネットワークに接続するのは、次の場合のみです。設定したモデルまたはコネクターを使う場合、
graphicle graph extractを完全実行する場合(見つかったAPIキーのLLMにドキュメントと画像を送信します)、graphicle graph addとclone、およびグラフサーバーのプルリクエストツールでGitHub CLIを使う場合、指定したフィードでgraphicle updateを実行する場合、新しいリリースがないか毎日確認する場合です。 リリースの確認はデフォルトで有効です。ターミナルで実行したコマンドが、コードやデータを送らずにGitHubへ最新リリースを問い合わせ、新しいリリースを知らせます(GRAPHICLE_NO_UPDATE_NOTIFIER=1で無効にできます)。 ソースからビルドする場合は、パーサーのソースも初回に一度ダウンロードします。詳細 - 同期は慎重に行います。
syncは.gitignoreを尊重し、.envファイル、キー、認証情報を除外します。セッションのキャプチャでは<private>…</private>の範囲を削除し、認証情報を秘匿化します。 - 削除の証明書を発行します。 メモリまたはキャプチャしたセッションを削除すると、そこから派生したデータも削除され、ハッシュチェーン形式の削除証明書が発行されます。
APIキーやモデルは必要ですか?
ほとんどの機能では必要ありません。コードグラフ(--code-onlyを指定)、同期、context、MCP サーバー、セッションのキャプチャ、アプリは、APIキーなしで動作します。
モデルは、graphicle askの回答を生成し、ソースからメモリを提案し、graphicle graph extractを完全実行する際にドキュメントと画像を読み取ります。
Ollama経由のローカルモデルや、OpenAI互換サーバーを利用できます(設定)。
GraphicleはGraphifyのフォークですか?
コードグラフエンジンはGraphifyをRustに移植したもので、ファイルヘッダーとNOTICEにクレジットを記載しています。Graphify 0.9.95に準拠しており、それ以降のGraphifyリリースは後続バージョンで移植されます。互換性チェックでは、このリリースとの比較を行っています。
メモリ、メモリツール、アプリ、セッションのキャプチャはGraphifyには含まれていません。Graphifyから移行しますか?graphicle setupではリポジトリの切り替えを選択できます。各ファイルをバックアップし、graphify-out/は削除しません(Graphifyからの移行)。
大規模なリポジトリにも対応できますか?
デフォルトでは、プロジェクトにはテキストファイルを最大100,000個、テキストを最大1 GiBまで格納できます。どちらの上限も引き上げられます(docs/configuration.mdの制限を参照)。 非常に大きなファイルは一部を解析するか、検索可能なテキストとして保持するため、同期が停止することはありません。
チーム向けのバージョンはありますか?
GraphicleはApache-2.0ライセンスの無料オープンソースで、個人でもチームでも利用できます。チーム向けの商用版はプライベートプレビュー中です。 お問い合わせは、ディスカッションを開始するか、Discordでお話しください:https://github.com/graphicle-ai/graphicle/discussions
ライセンスは何ですか?
GraphicleはApache-2.0ライセンスです。商用利用も含め、自由に使用、変更、配布できます。サードパーティーのコンポーネントには、それぞれのライセンスが適用されます。ライセンス一覧はNOTICEをご覧ください。
その他の回答:FAQ · トラブルシューティング · またはgraphicle doctorを実行してください。
ドキュメント
クイックスタート · エージェント · MCP · インストール · 設定 · チームサーバー · Graphify からの移行 · ベンチマーク · FAQ · 変更履歴
コード:crates/graphicle/(プログラム:コマンドライン、アプリ、HTTP および MCP サーバー)、crates/graphicle-graph/(コードグラフエンジン)、
crates/graphicle-memory/(メモリライブラリ)、Python および TypeScript 用 SDK、
チームサーバーのレシピは deploy/ にあります。各クレートは個別にビルドできます(ソースからのビルド)。
コントリビューション
Apache License 2.0 のもとでのコントリビューションを歓迎します。Developer Certificate of Origin の署名(git commit -s)が必要で、CLA は不要です。
CONTRIBUTING.md をご覧ください。セキュリティ上の問題を報告する場合は、公開 issue を作成せず、SECURITY.md の手順に従ってください。
ライセンスとクレジット
Graphicle は Apache License 2.0 のもとでライセンスされています。Copyright 2026 KarLex AI, Inc.
コード署名ポリシー:リリースビルドには、信頼された証明書による署名がまだ付与されていません。Windows プログラムは、Windows が信頼しないテスト証明書を使用して SignPath 経由で署名されるか、署名に失敗した場合は署名なしのままになります。各リリースのノートにどちらであるかが記載されています。SignPath Foundation の証明書による署名を予定しています。このポリシーには、Graphicle がネットワークに接続するすべてのケースも記載されています。
コードグラフエンジンは、Safi Shamsi 氏と Graphify のコントリビューターによる Graphify を Rust に移植したもので、Apache-2.0 のもとでライセンスされており、一部は引き続き MIT License のもとで利用できます。ありがとうございます。
NOTICE、NOTICE.md、および licenses/ フォルダーには、改変したすべてのプロジェクトとサードパーティコンポーネントの帰属表示およびライセンスが記載されています。
Graphicle が役に立ったら、リポジトリにスターを付けて、ほかの開発者にも見つけてもらいましょう。
試してみる · バグを報告 · コントリビュート · Discord
KarLex AI が開発
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。