mcpField
L
llmgraph

llmgraph

ローカル
beta.llmgraph.in開発ツール2今日更新

llmgraph について

llmgraphは、コーディングエージェントや編集前後の依存関係を確認する開発者向けに、呼び出し関係と変更の影響を分析します。証明できた結果と解析上の盲点を区別し、根拠と不確実性を示します。

主な機能

  1. 01呼び出し元と追跡不能な呼び出しの特定
  2. 02変更による影響の分析
  3. 03編集後の未対応呼び出しの確認
  4. 04結果の確実性のラベル付け
  5. 05回答の根拠の説明

活用シーン

  1. 01関数シグネチャ変更前の呼び出し箇所の確認
  2. 02編集で対応漏れした呼び出し箇所の確認
  3. 03証明済み依存と動的呼び出しの盲点の切り分け

MCP 対応

呼び出し関係、変更の影響、盲点、根拠を照会するツールを備えたMCPサーバーを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"brainfoods-studio-llmgraph": {
"command": "npx",
"args": [
"-y",
"llmgraph-mcp"
]
}
}
}
起動コマンドnpx -y llmgraph-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmllmgraph-mcp0.4.6

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

LLMGRAPH:あらゆるコールグラフには死角があります。LLMGRAPH はその場所を教えます。

LLMGRAPH

あらゆるコールグラフには死角があります。LLMGRAPH はその場所を教えます。

LLMGRAPH は、証明できる呼び出しだけを描きます。見つけられない呼び出しは数え、分かりやすい言葉でその内容を示すので、エージェントは編集する前に死角を把握できます。

私はコーディングエージェントのための真実のレイヤーとして LLMGRAPH を作りました。その真実には死角も含まれます。エージェントは推測しますが、LLMGRAPH は可能な範囲を証明し、証明できないことを明示します。3 つのオープンソースリポジトリで 50 問を使ったブラインドテストでは、確信を持って答えた内容に誤りはありませんでした。


2 つの関数。同じ名前。エージェントには見分けられません。LLMGRAPH なら見分けられます。

grep は名前を読み取ります。LLMGRAPH は呼び出しをたどります。証明できることは証明し、できないことは、たどれなくなった行まで示します。

zod には addIssueToContext が 2 つあります。テキスト検索では両者が混ざってしまいます。

$ rg -n addIssueToContext      # zod v3.23.8
146 lines, from both copies, mixed together

LLMGRAPH はそれらを分け、根拠も示します。

llmgraph · who_calls addIssueToContext (src/helpers/parseUtil.ts:72): 71 in a set
  ⚠︎ type checker starting: answers use our own reading for now; 71 calls unchecked
  ◇ within_these 71 calls -> one of 1 (closed: repo only) [c] w1
  ⚠︎ plus 7 dynamic calls nearby that could reach anything w2
  – ruled out: 71 same-name calls (proven: other target) [c] w3
  assumes [c]: our own reading, not confirmed by the checker
(lines trimmed)

よく似た候補 71 件を除外し、その理由も示します。 型チェッカーがまだ確認していない箇所についても、そのことを明示します。

もう一方の呼び出し元は?

エージェントが変更に取りかかる前に、呼び出し元を把握しておくべきです。requests で super_len(o) を super_len(o, strict) に変更し、check_my_changes に尋ねてみましょう。

llmgraph · check_my_changes: 1 file changed, 16 calls break
  16 breaks: misses "strict" w1
  ⚠︎ breaks if it runs super_len src/requests/models.py:526 PreparedRequest.prepare_body (within_these, one of 1, closed: repo only) [c] w2
  ⚠︎ breaks if it runs super_len src/requests/models.py:575 PreparedRequest.prepare_content_length (within_these, one of 1, closed: repo only) [c] w3
  ⚠︎ breaks if it runs super_len tests/test_utils.py:62 TestSuperLen.test_io_streams (within_these, one of 1, closed: repo only) [c] w4
  … 13 more test call sites
  ⚠︎ plus 9 dynamic calls nearby that could reach super_len w18
(lines trimmed)

実際のものだけを、壊れる呼び出しとして 16 件特定しました。 ブラインドテストの担当者によるテキスト検索でも、同じ 16 件が見つかり、それ以上でも以下でもありませんでした。追跡できない動的呼び出し 9 件も、無視せず明示されます。

その後、型チェッカーの解析が追いつきます。数秒後にもう一度尋ねてみましょう。

llmgraph · who_calls super_len (src/requests/utils.py:135): 16 certain
  ✓ certain src/requests/models.py:526 PreparedRequest.prepare_body w33
  +1 more (all certain, same file) w34
  ✓ certain tests/test_utils.py:62 TestSuperLen.test_io_streams w35
  +13 more (all certain, same file) w36
  ⚠ plus 9 dynamic calls nearby that could reach anything w37
(lines trimmed)

リリース済みのプログラムでは、「独自の読み取り」から 16 件の certain へ。 ラベルは証明済みの内容を超えることはなく、証明できた時点ですぐに更新されます。

5 つのラベル

ほかのツールは、うわさをもとにコードベースの概略を描き、自信ありげに死角を埋めます。LLMGRAPH が使うのは 2 色です。証明した内容を示すインクと、証明できていない内容を示す分かりやすい警告です。両者を取り違えることはありません。

ラベル意味
certain関数がちょうど 1 つであると証明できます。
exactly_these既知の集合であり、そのすべてが実際にここで実行される可能性があります。
within_these既知のリストのいずれかです。リストにあるものの中には、ここでは実行されないものもあります。
maybe_more候補はありますが、ほかにもある可能性が残っています。
cannot_see手がかりがありません。

回答には確率を示す数値はありません。何が除外されるかを示します。

テストプロジェクトでの測定結果

エージェントが尋ねてから 1 秒以内に、型チェッカーが呼び出し元を確認します(Python)。また、LLMGRAPH が保存内容を取り込んだ後なら、check_my_changes は 1 秒以内に回答します。無関係なコードにも現れる名前では、プレーンテキスト検索が誤った行を何百件も返した一方、LLMGRAPH は誤った呼び出し元を 1 件も示さず、エージェントが読み取るトークン数も半分未満でした。重複のない固有の名前では、削減効果はありません。

測定方法、生データ、LLMGRAPH が苦手とするケースについては、BENCHMARKS.md をご覧ください。

エージェントが尋ねられること

ツール回答する内容
who_callsこの関数を呼び出すすべての箇所と、確認できない呼び出し。
what_breaks_if_changed直接的または間接的にこの関数に依存するすべてのものと、確認できないもの。
check_my_changes編集後に、更新し忘れた呼び出し元と、確認できないもの。
what_is_unknown視界の届かない箇所(動的呼び出し、未知の型、読み取れないファイル)とその理由。
explainその回答に至った理由、つまり回答の 1 行を裏付ける根拠。

コードはお使いのマシン上で読み取られ、解析されます。コード、パス、シンボル名、リポジトリ名、クエリ、回答がこちらに送信されることはありません。リリース済みのプログラムで確認したところ、接続先は beta.llmgraph.in のみです。利用状況のカウントとクラッシュレポートはデフォルトで有効になっており、無効にできます(npx -y llmgraph-mcp telemetry off)。ライセンス確認は常に有効です。プライバシーページ。

インストール

Claude Code(プラグイン):

claude plugin marketplace add brainfoods-studio/llmgraph-agent-plugin
claude plugin install llmgraph@llmgraph

このプラグインは、エージェントが関数名やクラス名を検索する前に、LLMGRAPH の回答を提示します。また、検索を妨げることはありません。エージェントが処理を終了しようとする際、保存された編集によって呼び出しが certain に該当し、確実に壊れるものが残っていれば、一度だけ停止してそれらを一覧表示します。それ以外の場合に処理を妨げることはありません。また、npx -y llmgraph-mcp hook off を実行すると、両方の機能を無効にできます。

任意の MCP エージェント: サーバーとして npx -y llmgraph-mcp を追加します(Windows では、一部のエージェントで cmd /c npx -y llmgraph-mcp が必要です)。Google で一度サインインすれば、エージェントが質問します。Claude Code、Antigravity、Cursor、Codex、Gemini CLI、Windsurf、OpenCode 向けのセットアップガイドがあります。Claude Code と Antigravity での動作を確認済みです。

現在の制限: Windows x64 · Python と TypeScript/JavaScript(その他の言語は cannot_see として報告され、何もないものとして数えられることはありません) · プランごとの行数上限までのリポジトリ · 招待制ベータ版、招待をリクエスト · 個人向けプランはトライアル付きで 1 種類、料金。

このリポジトリには、MIT ライセンスのオープンなセットアップファイルが含まれています。LLMGRAPH エンジンはクローズドソースであり、EULAに基づいてお客様のマシン上で動作します。Brainfoods Studio、インド · [email protected] · [email protected]

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。