checkmcp について
CheckMCP は、MCPサーバーのセキュリティ、品質、コンテキストコストを監査し、根拠を示すスコア付きレポートを作成します。開発者やチームは手動監査やCIへの組み込みに利用でき、MCPサーバーやゲートウェイとしても動作します。
主な機能
- 01セキュリティとサーバー品質の採点
- 02ツール、スキーマ、プロトコル準拠の検査
- 03ツール一覧のコンテキストコスト測定
- 04動作評価の実行
- 05JSON・HTML・バッジ形式のレポート生成
- 06MCPトラフィックのプロキシと検査
活用シーン
- 01導入前のMCPサーバー監査
- 02スコア基準や定義変更によるCI失敗設定
- 03実行時出力のインジェクションや情報漏えい検査
- 04セルフホスト型ゲートウェイによるツール呼び出しのフィルタリング
MCP 対応
`audit-mcp mcp` コマンドで、監査ツールをMCPクライアントに公開できます。セルフホスト可能なMCPゲートウェイも提供し、呼び出しを検査して有害な内容を遮断または除去します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 監査する MCP エンドポイント URL(例:https://mcp.example.com/mcp) |
| token | string | いいえ | 対象サーバーで認証が必要な場合に指定する任意の Bearer トークン。 |
詳細
CheckMCP
あらゆる MCP サーバーを対象とした、ベンダーに依存しない品質/セキュリティ/コンテキストコストの監査とスコアリングです。
uvx/pipx のコマンドを 1 つ実行するだけで、Lighthouse 形式の MCP スコア/100 と 原因に基づく改善機会(スコアの理由)が得られます。
PyPI から
audit-mcpとしてインストールします(checkmcpという名前はすでに使用されていたため)。コマンドはaudit-mcpです。ブランド、サイト、リポジトリの名称は引き続き CheckMCP/checkmcp.dev です。
uvx audit-mcp https://mcp.deepwiki.com/mcp
# or
pipx run audit-mcp https://mcp.context7.com/mcp --json
audit-mcp https://my-mcp.example.com/mcp --token "$TOKEN"
MCP サーバーとして使う
audit-mcp mcp を実行すると、監査ツール自体が 1 つのツール audit_mcp_server を公開する MCP サーバー(stdio)になります。そのため、エージェントは会話の途中で 「この MCP サーバーは安全ですか?」 と質問できます。
# Claude Code
claude mcp add audit-mcp -- uvx audit-mcp mcp
// Cursor (.cursor/mcp.json) / Claude Desktop (claude_desktop_config.json)
{ "mcpServers": { "audit-mcp": { "command": "uvx", "args": ["audit-mcp", "mcp"] } } }
レジストリ名:io.github.H129hj/checkmcp
依存関係はありません(標準ライブラリのみ)。正確なトークン数のカウントには tiktoken をオプションで使用できます。
測定項目(7 つの柱)
- セキュリティ — OWASP MCP Top 10(ツールポイズニング、ハードコードされたシークレット、コマンドインジェクション)、リーサルトライアド。
- ツール設計 — ツールの乱立/統合(実際のサーバーを基にパーセンタイルで調整:中央値は約 7 ツール、p95 は約 42)。
- スキーマ/説明 — 説明と
inputSchema/outputSchemaの完全性。 - コンテキストコスト —
tools/listに費やされるトークン数。これはリクエストのたびに発生するコストです(2026 年における最大の課題)。 - コンプライアンス — プロトコルバージョンのギャップ、アノテーション、JSON-RPC エラー準拠、OAuth ディスカバリー。
- 信頼性 — 現在は単発の測定のみ(スコアには反映されません。継続的な T3 モニタリングは checkmcp.dev で提供しています)。
- カバレッジ — 3 つのプリミティブ(ツール +リソース+プロンプト)。
最低スコアの上限:スキーマ内にシークレットがある場合は D、ハンドシェイクに失敗した場合は F。すべての減点について、測定 → 仕組み → 影響 → Δスコア の形で理由を示します。
CLI フラグ
| フラグ | 説明 |
|---|---|
--json | 機械可読なレポート |
--badge | SVG バッジと README 埋め込み用スニペット |
--html | SEO/GEO 対応のスタンドアロンページ(JSON-LD SoftwareApplication + FAQ) |
--repo owner/name | GitHub からメンテナンス状況/ライセンス/来歴のシグナルを追加 |
--token <bearer> | OAuth で保護されたサーバーを監査 |
--min-score N | CI:MCP スコアが N 未満の場合に終了コード 1 を返す |
--baseline file | CI:ツール定義を固定し、リグレッション(ラグプル)時に失敗 |
--gh-summary | CI:Markdown サマリーを $GITHUB_STEP_SUMMARY に書き込む |
--deep | 外部スキャナー(mcp-scan/snyk)が存在する場合、ランタイムを詳細にスキャン |
--evals | 挙動サンドボックス:カナリア入力で読み取り専用ツールを実際に呼び出し、ツール出力へのプロンプトインジェクション、情報流出の経路、シークレット/PII の漏えい、コンテキスト爆弾を検出します(実際のトラフィックを送信し、悪意ありとの判定で CI を失敗させます) |
GitHub Action
# .github/workflows/mcp-audit.yml
name: MCP audit
on: [push, pull_request]
jobs:
checkmcp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: H129hj/checkmcp@v1
with:
url: https://my-mcp.example.com/mcp
min-score: "70"
baseline: .checkmcp-baseline.json # commit it → fails on rug-pull
挙動評価(--evals)
静的解析では 宣言された 危険性を検出しますが、--evals では読み取り専用ツールをカナリア入力で実際に呼び出し、応答を調べることで、ツール出力へのプロンプトインジェクション、情報流出の経路、シークレット/PII の漏えい(多言語対応。オプションのコールバック・カナリアで情報流出を確認可能)といった 実行時の 危険性を検出します。
悪意ありとの判定で CI を失敗させます。
セルフホスト可能なセキュリティゲートウェイ
監査に加え、CheckMCP は インバンド MCP ゲートウェイ(エージェントと MCP サーバーの間に置くプロキシ)を提供します。すべての呼び出しを検査し、アクティブ モードでは、ツールポイズニングと情報流出をエージェントに届く前に ブロック/除去 します。自社のインフラで実行できます(ツールのトラフィックがネットワークの外に出ることはありません)。
docker pull ghcr.io/h129hj/checkmcp-gateway:latest # or build from source
docker run -p 8080:8080 -e GATEWAY_BACKEND_URL=https://mcp.example.com/mcp \
-e GATEWAY_MODE=active -e GATEWAY_SECRET=$(openssl rand -hex 16) \
ghcr.io/h129hj/checkmcp-gateway:latest
設定(パッシブ/アクティブ、OAuth バックエンド、ポリシー、ログ)については GATEWAY.md を参照してください。
ホスト型サービス
詳細なレポート、公開ディレクトリ、ライブバッジ、継続的なドリフトモニタリング、ガバナンスポリシー API、ホスト型ゲートウェイを checkmcp.dev で提供しています。
正直な制限事項
- パーセンタイル帯は、拡大中のコーパス(1つ以上のレジストリ)に基づいており、今後も広がっていきます。
pipx install "audit-mcp[exact-tokens]"を実行すると正確なトークン数を取得できます(cl100k_base)。それ以外の場合は、文字数を4で割る概算になります。- 柱の重みは専門家の事前推定値です。
python -m checkmcp.calibrate samples.jsonを実行すると、ラベル付きのエージェント成功サンプルを使って検証できます(柱ごとの相関、OLS が推奨する重み、構成概念妥当性の R²)。ループを完結させるには、実際の結果を提供してください。
MIT。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。