Skip to main content
Glama
YuCPbit
by YuCPbit

🧾 mcp-proof

領収書付きでMCPサーバーを出荷する。

1つのコマンドで任意のMCPサーバーを監査します — ツール、リソース、プロンプト、プロトコル時代を問わず、stdioまたはStreamable HTTPに対応 — そしてクライアントにフィンガープリント付きの再現可能な納品レポートと、そのまま使い続けられるCIリグレッションスイートを渡します。

ci python checks transports license

English · 简体中文

公式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サーバー (@modelcontextprotocol/server-filesystem)

✅ SHIP-READY — MUSTチェック11/11、リプレイ34/34クリーン、書き込みツール4件は自動スキップ

HTML · PDF

2026-07-28モダン時代サーバー (依存ゼロ、公式v2 SDKと相互検証済み)

✅ SHIP-READY — server/discoverで時代を自動検出、MUST 21/21(ネガティブプローブ含む)、リプレイ2/2

HTML

9つの仕掛けられた違反を持つデモサーバー

❌ NOT SHIP-READY — MUST失敗5件+セキュリティ指摘3件、すべて証拠付きで捕捉

HTML

正常に動作するデモサーバー

✅ SHIP-READY — MUST 16/16、3レーン完全合格(リグレッションベースライン含む)

HTML

🔬 3つのレーン

レーン

証明すること

方法

プロトコル適合性

サーバーがワイヤーレベルでMCPを正しく実装している — 時代ネゴシエーション、JSON-RPCエラーセマンティクス、ツール/リソース/プロンプトサーフェス、出力スキーマ、機能の一貫性、ページネーション、stdoutの衛生状態

自作のJSON-RPCプローブが生のバイトストリームを観測するため、何も平滑化されない

セキュリティ&衛生

ツールメタデータがクリーン: 注入された命令、隠しUnicode、漏洩した秘密情報、無制限の実行サーフェスがない

決定的な静的解析、すべての指摘にMSSSコントロールIDが付与される

動作リグレッション

サーバーが納品時とまったく同じ動作をしている

provenanceフィンガープリント付きゴールデンfixtureの記録/リプレイ、ドリフトは重大度で等級付け

すべてのレーンが1つのレポートに集約されます — そしてレポートは優先順位付けされた修正リストで締めくくられるため、是正計画書としても機能します。

📡 プロトコルサポート

トランスポート

stdio ✅ · Streamable HTTP ✅

サーフェス

tools ✅ · resources ✅ · prompts ✅ — 双方向で機能認識型

モダン時代 2026-07-28 (server/discover、ステートレス_meta)

✅ 適合性レーン、自動検出 — --era auto|modern|legacy

レガシー時代 (initializeハンドシェイク、2024-11-052025-11-25)

✅ 全レーン

リグレッションレーン

✅ 両時代 — 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.sarifmcp-proof diffを加えたものが同じゲートです。

🏗️ 監査クリーンなテンプレートで構築

サーバーを監査するのではなく構築しますか? templates/server-starter/はこの監査をそのまま合格するfastmcpサーバーです — 制約付き入力スキーマ、適切なエラーセマンティクス、構造化出力、すべてのプラクティスにそれが満たすチェックIDが注釈されています。コピーして、ツールを実装し、監査し、レポート付きで出荷します。

🖥️ プラットフォーム

macOS

✅ 開発・完全検証済み

Linux

✅ CIで実行済み

Windows

✅ CIで実行済み

🗺️ ロードマップ

リリース

焦点

v0.3

✅ 二時代プロトコルサポート、mainで出荷 — 時代自動検出、モダン時代チェック19件、二時代リグレッションセッション、両トランスポートで公式v2 SDKに対して検証済み

v0.4

✅ 機能認識型リソース&プロンプトレーン · コントラクトマニフェストinspect / diff(破壊的変更ゲート付き) · アノテーション優先の呼び出し計画

v0.5

✅ バージョン管理されたJSONレポートモデル · JUnit & SARIF出力 · 再利用可能なGitHub Action(uses: YuCPbit/mcp-proof@v0.5.0) · レポートUI: スティッキーナビ、アンカー、フィルター

v0.6

✅ 二段階引数合成($ref / allOf / const / pattern / format / 境界 / multipleOf) · 検証済みスキーマ違反ネガティブプローブ(TOOL-07)、最小再現コード付き

今後

オプトインのセマンティックレーン(LLM評価アサーション) — 決定的コアが完成するまで保留

🔍 制限事項

mcp-proofは決定的に証明できることを証明し、どれがどれであるかを明示します:

  • セキュリティチェックは、観測可能なプロトコルとメタデータの表面を対象とします。デプロイ、ソース、またはプロセスの証拠を必要とするMSSSコントロールは、常に手動レビューとして報告され、合格として報告されることはありません。

  • 自動ベースライン化は、保守的な名前/説明のヒューリスティックによってツールを分類します。本番環境に対して記録されたベースラインを信頼する前に、フィクスチャマニフェストのスキップリストを確認してください。

  • 意味的正しさ(回答が正しい意味を持っているか?)は、設計上、決定論的コアの範囲外です。

📄 ライセンス

MIT — MSSSコンプライアンスセクションの分類法は、MCP Server Security Standard(CC BY-SA 4.0)に従っています。

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
8Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    A
    maintenance
    A 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.
    6
    6
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Audits 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.
    4
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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