LEGION Verify: MCP tool-list history について
LEGION Verifyは、承認済みのツールに変更がないかを確認する開発・セキュリティチーム向けの読み取り専用MCPサーバーです。署名付きの追記型透明性ログを基に、オフラインで検証できる証拠を提供します。
主な機能
- 01署名付きツール一覧の履歴を取得
- 02証拠バンドルをオフライン検証
- 03サーバーの変更と観測範囲を確認
- 04現在のツールと署名記録を比較
- 05固定ルートキーから証明を検証
活用シーン
- 01MCPツールの説明変更を確認
- 02ツール一覧の証拠バンドルを検証
- 03登録サーバーの変更履歴を調査
- 04署名と包含証明をオフラインで再確認
MCP 対応
MCPサーバーは、透明性ログの照会、証拠の検証、MCPサーバーのツール変更確認を行う5つの読み取り専用ツールを提供します。クライアントはリモートHTTPまたはローカルstdioで接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.legion-api.com/mcpclaude mcp add --transport http legion33shadow-legion-verify https://mcp.legion-api.com/mcp{"mcpServers":{"legion33shadow-legion-verify":{"type":"http","url":"https://mcp.legion-api.com/mcp"}}}Cursor で開く{"servers":{"legion33shadow-legion-verify":{"type":"http","url":"https://mcp.legion-api.com/mcp"}}}VS Code で開く{"mcpServers":{"legion33shadow-legion-verify":{"type":"http","url":"https://mcp.legion-api.com/mcp"}}}{"mcpServers":{"legion33shadow-legion-verify":{"serverUrl":"https://mcp.legion-api.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
LEGION Verify — MCP ツールのドリフトを検出する MCP サーバー(読み取り専用ツール 5 種)・v1.3.0
承認した後に MCP サーバーのツールが変更されていませんか?モデルはツールの説明を指示として読み取るため、説明や inputSchema のひそかな変更(ツールドリフト、「ラグプル」)は重要です。LEGION Verify は、MCP ツール一覧を記録した LEGION の署名付き追記専用透明性ログに基づいて、サーバーが何を公開していたか、いつ変更されたかを回答します。すべての回答は、固定されたルート鍵のフィンガープリントを起点とするキーチェーン(Ed25519、RFC 9162 の Merkle 証明)で検証されます。証拠バンドルはオフラインで再検証できます。
ロックファイルでツール一覧を固定し、ドリフト時に CI を失敗させるには、legion-lock をご覧ください。
ツール — すべて読み取り専用(readOnlyHint: true、destructiveHint: false)
| ツール | 機能 | ネットワーク |
|---|---|---|
get_checkpoint | 最新の署名付きツリーヘッド。キーチェーンに照らして署名を検証します | https://tlog.legion-api.com/tlog/v0 の固定ルートに GET |
get_server_changes | 1 つの MCP サーバーの署名付きツール一覧履歴(レジストリ ID、limit は 1~50 件、新しい順)と、最新レコードの証拠バンドル | https://tlog.legion-api.com/tlog/v0 の固定ルートに GET |
verify_evidence_bundle | バンドルをオフラインで検証します。固定ルートからのキーチェーン、レコードの署名、署名付きヘッド、RFC 9162 の包含証明を検証します。承認済みのツールハッシュと照合することもできます(MATCHES_APPROVED/UNAPPROVED_CHANGE) | なし |
verify_mcp_server | MCP サーバーの URL を貼り付けると、公開 MCP レジストリと照合し、最新の署名付きツール一覧レコード、変更回数(合計/過去 30 日間)、固定ルートから再検証した RFC 9162 の包含証明、証拠バンドルを返します。live=true を指定すると、現在提供されているツール一覧も取得し、署名付きの一覧と比較します(署名なし) | GET https://legion-api.com/drift/verify(デフォルト。LEGION_DRIFT_BASE)。ライブ比較はホスト型エンドポイントでのみ実行され、レジストリに掲載されたサーバーのみが対象です |
check_mcp_server | レジストリ ID を指定する 1 回の呼び出しで、署名付きツール一覧のフィンガープリント履歴、フィンガープリントの変更前後と差分リンクを含む直近の変更、署名付き COVERAGE_V1 登録簿に基づくサーバーごとのカバレッジ(full_register はすべてのサイクルで観測された場合にのみ COMPLETE、一部のみの場合は UNKNOWN)、証明 URL、すべてをオフラインで再検証する 1 つのコマンド(legion_check キット)を返します。不明な ID は UNKNOWN になります(ログに存在しないことは判定を意味しません) | https://tlog.legion-api.com/tlog/v0 の固定ルートおよび https://legion-api.com/tlog/v0/coverage に GET |
それ以外は何もありません。書き込み、購入、秘密鍵は不要で、API キーも必要ありません。呼び出し元が指定する URL は verify_mcp_server に渡すものだけです。この URL はレジストリで照合され、このサーバーが接続することはありません。ホスト型エンドポイントでは、live=true を指定すると LEGION のドリフトサービスがそのサーバーに initialize と tools/list を送信できますが、対象は公開アドレスを持つレジストリエントリに限られます。
接続
Claude Code(リモート)
claude mcp add --transport http legion-verify https://mcp.legion-api.com/mcp
Claude Desktop(ローカル、stdio) — claude_desktop_config.json:
{ "mcpServers": { "legion-verify": { "command": "python3", "args": ["/ABSOLUTE/PATH/server.py"] } } }
(pip install "mcp==2.1.1" が必要です。server.py と legion_tlog_verify.py を同じフォルダーに配置してください)
任意の MCP クライアント(リモート):認証不要のストリーミング可能な HTTP(https://mcp.legion-api.com/mcp)を使用します。
お試しください
- 「
get_checkpointを呼び出して、tree_size、root_sha256、signature_valid を教えてください。」 - 「
get_server_changesを使い、xyz.signomy/civitae の署名付き履歴を表示してください(limit 3)。」 - 「取得した evidence_bundle を
verify_evidence_bundleに渡し、証明が有効かどうか教えてください。」 - 「
verify_mcp_serverで https://tandem.ac/mcp をlive=trueにして確認してください。署名付きレコード以降、ツールは変更されていますか?」
埋め込み可能なバッジ付きで、ブラウザーから同じ確認を行えます:https://legion-api.com/drift/check/
ログ全体を自分で検証する(MCP も pip も不要)
PIN=a7c6a35b1c2c81d589a30c2ad628679bdea9da4139d49aa3c42cdde6e1c65036
curl -fsSLO https://legion33shadow.github.io/legion-tlog-mirror/legion_verify_mirror.py
python3 -I -S legion_verify_mirror.py "$PIN"
ルートキーのフィンガープリント — 別経路で固定してください:a7c6a35b1c2c81d589a30c2ad628679bdea9da4139d49aa3c42cdde6e1c65036
制限事項
このログは、1 人のオブザーバー(LEGION)による署名済み記録であり、サーバーがほかのクライアントに何を提供するかは示しません。
フィンガープリントの対象は name、description、inputSchema のみです。変更が反映されるのは、次回の LEGION による観測と、次回の署名済みヘッドの後です。Bitcoin アンカーは pending です(まだフルノードで ots verify を実行していません)。
独立した証人による共同署名はまだありません。認証が必要なサーバーは観測されません。
パブリックサーバー(v1.3.0):不変の証明とヘッドごとの履歴はキャッシュされます。各クライアント(Cloudflare が認識する IP)は、1 分あたり最大 20 件の未キャッシュのログリクエストを実行できます(それ以外は CLIENT_RATE_LIMITED。キャッシュ済みの応答は引き続き提供されます)。
ライセンス:MIT(LICENSE を参照)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。