AgentsID MCP Scanner について
AgentsID MCP Scanner は、MCP サーバーのセキュリティを評価するスキャナーです。stdio または HTTP 経由でライブスキャンを行うほか、公開レジストリの事前スキャン結果も参照でき、信頼スコア、等級、検出事項を出力します。MCP サーバーのセキュリティを確認する開発者を対象としています。
主な機能
- 01ローカル stdio とリモート HTTP サーバーのライブスキャン
- 02公開レジストリの事前スキャン結果の参照
- 030〜100 の信頼スコアと A〜F の等級
- 04ツール説明内のプロンプトインジェクションパターンの検出
- 05ツールのリスクレベル別分類
- 06JSON 形式のレポート出力
活用シーン
- 01リリース前の権限と入力検証の確認
- 02サードパーティ製 MCP サーバーのツール説明におけるインジェクションリスクの確認
- 03JSON レポートによる CI でのセキュリティスコア記録
MCP 対応
本プロジェクトは MCP サーバーをスキャンの対象とし、公開されているツール一覧、入力スキーマ、ツール説明を検査します。それ自体は MCP サーバーやクライアントとして動作しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| target | string | はい | スキャンする MCP サーバー。npx コマンド(例:'npx @modelcontextprotocol/server-github')または HTTP URL(例:'https://my-mcp-server.example.com/mcp')を指定します。指定されたサーバーのみをスキャンします。 |
| env | object | いいえ | サーバープロセスに渡す任意の環境変数。サーバーの起動に必要な API キーなどを指定します。 |
詳細
AgentsID Scanner
エージェントセキュリティの灯台。
あらゆる MCP サーバーをスキャン。セキュリティレポートカードを取得できます。
あなたの MCP サーバーは AI エージェントにツールを公開しています。そのセキュリティはどの程度でしょうか?
ほとんどの MCP サーバーは、認証も、ツールごとの権限も、入力検証も備えておらず、ツールの説明文はプロンプトインジェクションに対して脆弱なまま出荷されています。あなたはまだそれに気づいていないだけです。
AgentsID Scanner がそれを明らかにします。
クイックスタート
npx @agentsid/scanner -- npx @some/mcp-server
これだけです。アルファベットの評価と詳細な検出事項が得られます。
スキャンする内容
| カテゴリ | チェックする内容 | なぜ重要か |
|---|---|---|
| インジェクション | 11 種類のプロンプトインジェクションパターンについてツールの説明文を検査 | 悪意のあるツールの説明文はエージェントの動作を乗っ取る可能性があります |
| 権限 | リスク別(破壊的、実行、金銭、認証情報)に分類されたツール名 | アクセス制御のない 50 個のツールは 50 の攻撃面になります |
| 検証 | 制約の欠落、無制限の文字列、オプションのみのパラメータについて入力スキーマを検査 | 検証がなければ、ツールハンドラーに任意の入力が渡されます |
| 認証 | ツールサーフェスにおける認証の指標 | 認証ツールがなければ、未認証のエージェントがあなたのツールを呼び出します |
| シークレット | 出力で認証情報を露出する可能性のあるツール | レスポンス内で漏洩する API キー、トークン、パスワード |
| 出力 | フィルタリングされていないファイル/データ出力 | マスキングなしで返される機密ファイルの内容 |
レポート
╔══════════════════════════════════════════════════════════════╗
║ AgentsID Security Scanner — Report ║
╚══════════════════════════════════════════════════════════════╝
Server: my-mcp-server v1.0.0
Tools: 23
Scanned: 2026-03-29T12:00:00.000Z
Overall Grade: D (42/100)
Category Grades:
injection A
permissions F
validation D
auth F
output B
Tool Risk Profile:
destructive ████ 4
execution ██ 2
credential_access █ 1
Findings: 31
CRITICAL: 2
HIGH: 8
MEDIUM: 15
LOW: 6
Recommendations:
1. Address CRITICAL and HIGH findings immediately
2. Add per-tool permission controls (agentsid.dev/docs)
3. Implement input validation on all tool parameters
4. Add authentication to server endpoints
使用方法
ローカルの MCP サーバーをスキャンする(stdio)
# Scan any npx-installable MCP server
agentsid-scan -- npx @modelcontextprotocol/server-filesystem ./
# Scan a local server file
agentsid-scan -- node my-server.mjs
# Scan a Python MCP server
agentsid-scan -- python -m my_mcp_server
リモートの MCP サーバーをスキャンする(HTTP)
agentsid-scan --url https://mcp.example.com/mcp
JSON 出力
agentsid-scan --json -- npx @some/mcp-server > report.json
環境変数を渡す
agentsid-scan --env API_KEY=xxx --env DB_URL=postgres://... -- node server.mjs
グレーディング(v2 — 正規化+上限あり)
100 点から開始します。検出事項ごとの減点:
| 重大度 | 減点 | 正規化 | 上限 |
|---|---|---|---|
| CRITICAL | 各 -25 | 絶対値 — 常に全額適用 | 上限なし |
| HIGH | 各 -15 | 絶対値 — 常に全額適用 | 最大 -45 |
| MEDIUM | 各 -8 | √(ツール数) で除算 | 最大 -25 |
| LOW | 各 -3 | √(ツール数) で除算 | 最大 -15 |
| INFO | 0 | — | — |
MEDIUM と LOW の検出事項はツール数で正規化されるため、ツール単位の問題(たとえばすべての入力における maxLength の欠落)がサーバーの規模に応じて線形に積み上がることはありません。50 個のツールを持つサーバーで 50 件の LOW がある場合も、5 個のツールを持つサーバーで 5 件の LOW がある場合も、同じスコアになります。CRITICAL と HIGH は絶対値のままです — 実際の脆弱性はサーバーの規模にかかわらず影響を与えます。
| 評価 | スコア | 意味 |
|---|---|---|
| A | 90-100 | 優れたセキュリティ体制 |
| B | 75-89 | 良好 — 軽微な問題 |
| C | 60-74 | 許容範囲 — 改善が必要 |
| D | 40-59 | 不十分 — 重大なリスク |
| F | 0-39 | 不合格 — クリティカルな脆弱性 |
インジェクション検出
スキャナーは 11 種類のプロンプトインジェクションパターンについてツールの説明文を検査します:
- 指示の上書き — 「これまでの指示を無視して」、「すべてのルールを無視して」
- 役割の乗っ取り — 「あなたは今から〜です」
- メモリの消去 — 「すべて忘れて」
- ツールのリダイレクト — 「X の代わりに Y を呼び出して」
- 隠されたアクション — 「さらに実行して…」
- 秘匿 — 「ユーザーに伝えないで」
- ステルス操作 — 「密かに」、「こっそりと」
- セキュリティのバイパス — 「認証を上書きして」、「検証をスキップして」
- エンコードされたペイロード — base64、eval()、テンプレートインジェクション
- Unicode 難読化 — 指示を隠すエスケープ文字
リスク分類
すべてのツールは名前のパターンによって分類されます。
| リスクレベル | パターン | ツールの例 |
|---|---|---|
| Critical | execute, shell, admin, sudo, payment | shell_run、admin_reset、process_payment |
| High | delete, remove, drop, deploy, credential | delete_user、deploy_prod、get_api_key |
| Medium | create, update, send, write | create_issue、send_email、write_file |
| Info | read, get, list, search, describe | get_status、list_users、search_docs |
グレードを修正する
スキャナーは何が問題であるかを教えてくれます。修正方法は次のとおりです。
ツールごとの権限を追加する
npm install @agentsid/guard
AgentsID Guard は、実行前にすべてのツール呼び出しを権限ルールに対して検証します。50 のツール、16 のカテゴリ、すべてが保護されています。
または既存のサーバーに SDK を追加する
npm install @agentsid/sdk
MCP サーバーに 3 行のミドルウェアを追加するだけです。完全なドキュメントは agentsid.dev/docs にあります。
プログラムによる使用
import { scanStdio, scanHttp, scanToolDefinitions } from "@agentsid/scanner";
// Scan a local server
const report = await scanStdio("npx @some/server", { json: true });
// Scan a remote server
const report = await scanHttp("https://mcp.example.com", { json: true });
// Scan tool definitions directly (no server needed)
const report = scanToolDefinitions(myToolArray, { json: true });
コントリビューション
検出されていないパターンを見つけましたか? issue または PR を作成してください。ルールエンジンは src/rules.mjs にあり、新しいパターンの追加は正規表現 1 つだけです。
リサーチ
- The State of MCP Server Security — 2026 — 15,983 のサーバーをスキャン、72.6% が 60 未満のスコア
- Weaponized by Design — 有害なフローの分類体系、本番環境の MCP サーバーにおける 5 つの攻撃パターン
- The Multi-Agent Auth Gap — 5 つのフレームワークにわたる 4 つの構造的ギャップ
- The A2A Security Gap — Google の Agent2Agent プロトコルにおける 6 つの構造的脆弱性
15,982 のサーバーすべてがスコアリングされ、検索可能です:agentsid.dev/registry
リンク
- AgentsID — AI エージェントのためのアイデンティティと認証
- AgentsID Guard — 50 ツールを保護する MCP サーバー
- Documentation
- MCP Registry — 15,982 のサーバーをスコアリング
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。