mcpField
A
AgentsID MCP Scanner

AgentsID MCP Scanner

ローカル
github.com/stevenkozeniesky02開発ツール2628 週間前に更新

AgentsID MCP Scanner について

AgentsID MCP Scanner は、MCP サーバーのセキュリティを評価するスキャナーです。stdio または HTTP 経由でライブスキャンを行うほか、公開レジストリの事前スキャン結果も参照でき、信頼スコア、等級、検出事項を出力します。MCP サーバーのセキュリティを確認する開発者を対象としています。

主な機能

  1. 01ローカル stdio とリモート HTTP サーバーのライブスキャン
  2. 02公開レジストリの事前スキャン結果の参照
  3. 030〜100 の信頼スコアと A〜F の等級
  4. 04ツール説明内のプロンプトインジェクションパターンの検出
  5. 05ツールのリスクレベル別分類
  6. 06JSON 形式のレポート出力

活用シーン

  1. 01リリース前の権限と入力検証の確認
  2. 02サードパーティ製 MCP サーバーのツール説明におけるインジェクションリスクの確認
  3. 03JSON レポートによる CI でのセキュリティスコア記録

MCP 対応

本プロジェクトは MCP サーバーをスキャンの対象とし、公開されているツール一覧、入力スキーマ、ツール説明を検査します。それ自体は MCP サーバーやクライアントとして動作しません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"agentsid-scanner": {
"command": "npx",
"args": [
"-y",
"@agentsid/mcp-scanner"
]
}
}
}
起動コマンドnpx -y @agentsid/mcp-scanner

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@agentsid/mcp-scanner

ツール

3

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
targetstringはいスキャンする MCP サーバー。npx コマンド(例:'npx @modelcontextprotocol/server-github')または HTTP URL(例:'https://my-mcp-server.example.com/mcp')を指定します。指定されたサーバーのみをスキャンします。
envobjectいいえサーバープロセスに渡す任意の環境変数。サーバーの起動に必要な API キーなどを指定します。

詳細

AgentsID Scanner

エージェントセキュリティの灯台。
あらゆる MCP サーバーをスキャン。セキュリティレポートカードを取得できます。

AgentsID License


あなたの 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
INFO0——

MEDIUM と LOW の検出事項はツール数で正規化されるため、ツール単位の問題(たとえばすべての入力における maxLength の欠落)がサーバーの規模に応じて線形に積み上がることはありません。50 個のツールを持つサーバーで 50 件の LOW がある場合も、5 個のツールを持つサーバーで 5 件の LOW がある場合も、同じスコアになります。CRITICAL と HIGH は絶対値のままです — 実際の脆弱性はサーバーの規模にかかわらず影響を与えます。

評価スコア意味
A90-100優れたセキュリティ体制
B75-89良好 — 軽微な問題
C60-74許容範囲 — 改善が必要
D40-59不十分 — 重大なリスク
F0-39不合格 — クリティカルな脆弱性

インジェクション検出

スキャナーは 11 種類のプロンプトインジェクションパターンについてツールの説明文を検査します:

  • 指示の上書き — 「これまでの指示を無視して」、「すべてのルールを無視して」
  • 役割の乗っ取り — 「あなたは今から〜です」
  • メモリの消去 — 「すべて忘れて」
  • ツールのリダイレクト — 「X の代わりに Y を呼び出して」
  • 隠されたアクション — 「さらに実行して…」
  • 秘匿 — 「ユーザーに伝えないで」
  • ステルス操作 — 「密かに」、「こっそりと」
  • セキュリティのバイパス — 「認証を上書きして」、「検証をスキップして」
  • エンコードされたペイロード — base64、eval()、テンプレートインジェクション
  • Unicode 難読化 — 指示を隠すエスケープ文字

リスク分類

すべてのツールは名前のパターンによって分類されます。

リスクレベルパターンツールの例
Criticalexecute, shell, admin, sudo, paymentshell_run、admin_reset、process_payment
Highdelete, remove, drop, deploy, credentialdelete_user、deploy_prod、get_api_key
Mediumcreate, update, send, writecreate_issue、send_email、write_file
Inforead, get, list, search, describeget_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 つだけです。

リサーチ

15,982 のサーバーすべてがスコアリングされ、検索可能です:agentsid.dev/registry

リンク

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。