mcp-proof
🧾 mcp-proof
領収書付きでMCPサーバーを出荷する。
1つのコマンドで任意のMCPサーバーを監査します — ツール、リソース、プロンプト、プロトコル時代を問わず、stdioまたはStreamable HTTPに対応 — そしてクライアントにフィンガープリント付きの再現可能な納品レポートと、そのまま使い続けられるCIリグレッションスイートを渡します。
公式MCP filesystemサーバーの実際の監査結果: 適合性チェック25件、MSSS準拠テーブル、リグレッションfixture 34件 — すべてグリーン。
✨ 得られるもの
🔍 全サーフェス・両時代にわたるワイヤーレベルのプロトコルチェック — mcp-proofはサーバーと生のJSON-RPCで通信し、その時代を自動検出します: 2026-07-28モダン時代向けチェック30件(
server/discover、_metaエンベロープ強制、resultType、全キャッシュ可能な結果へのttlMs/cacheScope、-32022バージョン拒否、HTTPルーティングヘッダー強制)、initializeハンドシェイク時代向けチェック25件 — 正確なエラーコード、スキーマ妥当性、構造化出力、stdoutの衛生状態、ページネーション安全性、専用のリソース&プロンプトレーン、そして検証済みネガティブプローブ: TOOL-07は宣言されたinputSchemaに確実に違反する入力を送信し、サーバーがそれを通常どおり応答した場合に警告し、最小限の再現コードを引用します。双方向で機能認識型: サーバーが宣伝していないサーフェスはスキップされ、宣伝しているサーフェスは動作しなければなりません。🛡️ 公開標準に紐づいたセキュリティ監査 — 決定的チェック6件(ツール説明のポイズニング、不可視/双方向文字、認証情報の漏洩、無制限のインジェクションサーフェス、宣伝されたシェル実行)、それぞれが24コントロールのMCP Server Security Standardの標準コントロールIDにマッピングされ、全レポートに完全な準拠テーブルとして表示されます。
📼 クライアントが使い続けるリグレッションスイート — どちらのプロトコル時代でも記録可能。SHA-256 provenance付きのゴールデンfixtureがサーバーの動作を固定し、リプレイはすべてのドリフトを(
BREAKING/VALUE/COSMETIC/LATENCYで)等級付けし、構造化出力を理解し、ステートフルな呼び出し順序を保持し、コピペですぐ使えるGitHub Actionsゲートが同梱されています。📄 人間と機械の両方のためのレポート — 自己完結型HTML、スティッキーナビゲーション、チェックごとのアンカー(
report.html#SEC-03)、注意/合格フィルター、折りたたみ可能なMSSSマトリクス付き。--pdfで印刷可能。同じバージョン管理されたモデルが--json(スキーマv1)、任意のCI向け--junit、GitHub Securityタブ向け--sarifとしても出力されます。🔁 設計上再現可能 — LLM呼び出しゼロ、APIキーゼロ。すべてのハッシュは動作のみから計算されます — タイムスタンプとレイテンシは別のハッシュ対象外の観測レイヤーに格納されるため、同一のサーバー動作は同一のレポートフィンガープリントを生成し、受け入れは検証であって信頼ではありません。
🧯 アノテーション優先の呼び出し計画 — MCPツールアノテーションは双方向で名前ヒューリスティックより優先されます:
readOnlyHintは正規表現が過剰にブロックする読み取り専用ツールを救い、destructiveHintは見逃すミューテーターを捕捉します。アノテーションのないツールは保守的なヒューリスティックにフォールバックします。mcp-proof planは本番に触れる前に、自動ベースラインが何をどの根拠で呼び出すかを正確に示します。--include-destructiveと--edge-casesでさらに多くのケースにオプトインできます。📋 CI向けコントラクト差分 —
mcp-proof inspectは提供中のサーフェス(機能+ツール+リソース+プロンプト、完全にページネーション処理済み)をフィンガープリント付きマニフェストに固定します。mcp-proof diffはすべての変更をBREAKING/ADDITIVE/METADATAに分類し、破壊的変更では非ゼロで終了します — スキーマの厳格化、enumの絞り込み、必須フラグの反転、出力フィールドの削除、安全性アノテーションの弱体化がすべて対象です。
Related MCP server: MCProbe
🚀 クイックスタート
pip install git+https://github.com/YuCPbit/mcp-proof
mcp-proof run python my_server.py --fixtures fixtures/ --out report.html代わりに実行中のHTTPサーバーを監査しますか? mcp-proof run --url http://localhost:8000/mcp --out report.html
終了コード0は以下を意味します: すべてのMUSTチェック合格、セキュリティ指摘ゼロ、動作ドリフトゼロ — 1行のCIゲートです。
mcp-proof plan python my_server.py # what would auto-baselining call, and why
mcp-proof record python my_server.py --fixtures fixtures/ # freeze the behavioural contract
mcp-proof replay --fixtures fixtures/ -- python my_server.py # fail on any drift
mcp-proof inspect python my_server.py --out baseline.json # freeze the contract surface
mcp-proof diff baseline.json current.json # BREAKING / ADDITIVE / METADATA, exit 1 on breaking組み込みのデモペア — クリーンなサーバーと9つの仕掛けられた違反を持つサーバー — で60秒で違いを確認できます:
mcp-proof run python demo/good_server.py --fixtures demo/fixtures-good --out report-good.html # → SHIP-READY
mcp-proof run python demo/bad_server.py --out report-bad.html # → 5 MUST failures, 3 security findings📊 実際の監査、実際のレポート
ターゲット | 判定 | レポート |
公式MCP filesystemサーバー ( | ✅ SHIP-READY — MUSTチェック11/11、リプレイ34/34クリーン、書き込みツール4件は自動スキップ | |
2026-07-28モダン時代サーバー (依存ゼロ、公式v2 SDKと相互検証済み) | ✅ SHIP-READY — | |
9つの仕掛けられた違反を持つデモサーバー | ❌ NOT SHIP-READY — MUST失敗5件+セキュリティ指摘3件、すべて証拠付きで捕捉 | |
正常に動作するデモサーバー | ✅ SHIP-READY — MUST 16/16、3レーン完全合格(リグレッションベースライン含む) |
🔬 3つのレーン
レーン | 証明すること | 方法 |
プロトコル適合性 | サーバーがワイヤーレベルでMCPを正しく実装している — 時代ネゴシエーション、JSON-RPCエラーセマンティクス、ツール/リソース/プロンプトサーフェス、出力スキーマ、機能の一貫性、ページネーション、stdoutの衛生状態 | 自作のJSON-RPCプローブが生のバイトストリームを観測するため、何も平滑化されない |
セキュリティ&衛生 | ツールメタデータがクリーン: 注入された命令、隠しUnicode、漏洩した秘密情報、無制限の実行サーフェスがない | 決定的な静的解析、すべての指摘にMSSSコントロールIDが付与される |
動作リグレッション | サーバーが納品時とまったく同じ動作をしている | provenanceフィンガープリント付きゴールデンfixtureの記録/リプレイ、ドリフトは重大度で等級付け |
すべてのレーンが1つのレポートに集約されます — そしてレポートは優先順位付けされた修正リストで締めくくられるため、是正計画書としても機能します。
📡 プロトコルサポート
トランスポート | stdio ✅ · Streamable HTTP ✅ |
サーフェス | tools ✅ · resources ✅ · prompts ✅ — 双方向で機能認識型 |
モダン時代 | ✅ 適合性レーン、自動検出 — |
レガシー時代 (initializeハンドシェイク、 | ✅ 全レーン |
リグレッションレーン | ✅ 両時代 — SDKセッション(レガシー) · プローブベースセッション(モダン) |
モダンレーンは公式v2 SDKに対して双方向で検証されています: 公式クライアントはserver/discover経由でmcp-proofの自作モダンテストサーバーを採用し、mcp-proofは公式v2 SDKサーバーに対して両トランスポート — stdioとSSEレスポンス付きStreamable HTTP — で全3レーンを完全グリーンで実行します(scripts/crosscheck_modern_server.py)。
任意の言語のサーバーで動作します — mcp-proofはプロセス(またはURL)と通信するのであって、コードベースとは通信しません。
⚙️ CIを1ステップで
- uses: YuCPbit/mcp-proof@v0.5.0
with:
server-command: python my_server.py
fixtures: fixtures/ジョブはサーバーがship-readyでない限り失敗し、アップロード用にmcp-proof-report.html / .json / .junit.xml / .sarifを残します。生のコマンドがお好みですか? mcp-proof run … --junit r.xml --sarif r.sarifにmcp-proof diffを加えたものが同じゲートです。
🏗️ 監査クリーンなテンプレートで構築
サーバーを監査するのではなく構築しますか? templates/server-starter/はこの監査をそのまま合格するfastmcpサーバーです — 制約付き入力スキーマ、適切なエラーセマンティクス、構造化出力、すべてのプラクティスにそれが満たすチェックIDが注釈されています。コピーして、ツールを実装し、監査し、レポート付きで出荷します。
🖥️ プラットフォーム
macOS | ✅ 開発・完全検証済み |
Linux | ✅ CIで実行済み |
Windows | ✅ CIで実行済み |
🗺️ ロードマップ
リリース | 焦点 |
v0.3 | ✅ 二時代プロトコルサポート、mainで出荷 — 時代自動検出、モダン時代チェック19件、二時代リグレッションセッション、両トランスポートで公式v2 SDKに対して検証済み |
v0.4 | ✅ 機能認識型リソース&プロンプトレーン · コントラクトマニフェスト |
v0.5 | ✅ バージョン管理されたJSONレポートモデル · JUnit & SARIF出力 · 再利用可能なGitHub Action( |
v0.6 | ✅ 二段階引数合成( |
今後 | オプトインのセマンティックレーン(LLM評価アサーション) — 決定的コアが完成するまで保留 |
🔍 制限事項
mcp-proofは決定的に証明できることを証明し、どれがどれであるかを明示します:
セキュリティチェックは、観測可能なプロトコルとメタデータの表面を対象とします。デプロイ、ソース、またはプロセスの証拠を必要とするMSSSコントロールは、常に手動レビューとして報告され、合格として報告されることはありません。
自動ベースライン化は、保守的な名前/説明のヒューリスティックによってツールを分類します。本番環境に対して記録されたベースラインを信頼する前に、フィクスチャマニフェストのスキップリストを確認してください。
意味的正しさ(回答が正しい意味を持っているか?)は、設計上、決定論的コアの範囲外です。
📄 ライセンス
MIT — MSSSコンプライアンスセクションの分類法は、MCP Server Security Standard(CC BY-SA 4.0)に従っています。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceA stdio MCP server that audits other MCP servers over the live protocol. It connects to any MCP target (stdio or HTTP), lints every tool's schema for agent-usability, then actually calls the tools with deliberately broken inputs to see how the server handles them, and returns a 0–100 conformance score with a per-dimension breakdown rendered as Markdown.66MIT
- AlicenseAqualityBmaintenanceA stdio MCP server that audits other MCP servers by linting their tool schemas and calling tools with malformed inputs to produce a 0–100 conformance score and Markdown report.6MIT
- AlicenseNot gradedqualityBmaintenanceAudits any MCP server against the official spec, providing HMAC-signed conformity reports.MIT
- AlicenseNot gradedqualityAmaintenanceAudits MCP server configurations for security risks including capability inventory, SSRF, prompt injection, and drift detection. Works in read-only mode and can also be used as an MCP server to let AI agents audit their own attack surface.4MIT
Related MCP Connectors
MCP Spec Compliance MCP — audits any MCP server.json against the official Model Context Protocol
Conformance checker for MCP servers. Free, no key, verdicts recomputable and re-measured daily.
MEOK MCP Test MCP — golden-file + schema-drift + tool-failure tests for any MCP server. Drop-in
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/YuCPbit/mcp-proof'
If you have feedback or need assistance with the MCP directory API, please join our Discord server