mcpField
A
agentguard

agentguard

ローカル
github.comセキュリティ120 週間前に更新

agentguard について

agentguardは、宣言型のネットワーク送信ポリシーに照らしてURLを検査するMCPサーバーです。リクエストを実行せずに、個別または一括のURL判定とポリシー設定の誤りを確認できます。

主な機能

  1. 01ポリシーに基づくURL検査
  2. 02URLの一括検査と集計
  3. 03ポリシー仕様の検証
  4. 04広すぎるワイルドカードや不正なホストの検出

活用シーン

  1. 01エージェントによる取得前のURL確認
  2. 02候補URLの一括監査
  3. 03送信ポリシーの設定ミスの発見

MCP 対応

URL検査とポリシー検証のツールをMCPクライアントに提供します。判定のみを返し、リクエストの遮断やネットワーク通信は行いません。

設定

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

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

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

パッケージ
npm@mukundakatta/agentguard-mcp0.1.0

ツール

3

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

パラメーター型必須説明
urlstringはい確認する URL。
methodstringいいえHTTP メソッド(デフォルトは GET)。
policyobjectはい簡易ネットワークポリシー。{ allow: ["api.openai.com", "*.example.com"] } を使用します。任意項目:deny: string[]、methods: string[]。
policy.denyarrayいいえ拒否するホストパターン。allow より優先されます。
policy.allowarrayいいえ許可するホストパターン。完全一致と *.suffix ワイルドカードに対応します。
policy.methodsarrayいいえ許可する HTTP メソッド(例:["GET", "POST"])。デフォルトはすべて許可。

詳細

agentguard-mcp

@mukundakatta/agentguard 用の MCP サーバーです。 Claude Desktop、Cursor、Cline、Windsurf、Zed、その他の MCP クライアントから、フェッチを行う前にネットワーク送信ポリシーで URL が許可されているかを確認できます。

npx -y @mukundakatta/agentguard-mcp

3 つのツールがあります。

  • check_url — 単一 URL のチェックです。実際のリクエストは行わず、{ allowed, reason } を返します。
  • check_urls_batch — URL ごとの判定と概要を含む一括チェックです。
  • validate_policy — 空の許可リスト、範囲が広すぎる * ワイルドカード、不正なホストパターンがないか、ポリシー仕様をチェックします。

クライアントへの追加

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)を編集します。

{
  "mcpServers": {
    "agentguard": {
      "command": "npx",
      "args": ["-y", "@mukundakatta/agentguard-mcp"]
    }
  }
}

Cursor(~/.cursor/mcp.json)、Cline、Windsurf、Zed も同様の形式です。

ツールの使用例

check_url:

{
  "url": "https://api.openai.com/v1/chat",
  "policy": { "allow": ["api.openai.com", "*.anthropic.com"] }
}

戻り値:

{ "allowed": true, "reason": "matched_allowlist", "detail": null }

check_urls_batch:

{
  "urls": [
    "https://api.openai.com/v1/chat",
    "https://evil.example.com/leak"
  ],
  "policy": { "allow": ["api.openai.com"] }
}

戻り値:

{
  "results": [
    { "url": "https://api.openai.com/v1/chat", "allowed": true, ... },
    { "url": "https://evil.example.com/leak", "allowed": false, "reason": "not_in_allowlist", ... }
  ],
  "summary": { "total": 2, "allowed_count": 1, "denied_count": 1 }
}

validate_policy:

{ "policy": { "allow": ["*", "https://api.example.com", "api.example.com/v1"] } }

* ワイルドカード、スキームのプレフィックス、パスのサフィックスについて問題を返します。いずれも、ポリシーを初めて作成する際によくある間違いです。

MCP サーバーを分ける理由

@mukundakatta/agentguard は、依存関係のない JavaScript ライブラリです。この MCP サーバーを使うと、その判定エンジンを MCP 対応の AI アシスタントから利用できます。「エージェントのツール一覧はこのファイアウォールを通過しますか?」や「この 50 個の URL のうち、ポリシーでブロックされるのはどれですか?」と Claude に尋ねると、アシスタントがこれらのツールを直接呼び出します。

注:この MCP サーバーは URL をチェックするだけで、実際に fetch をラップしたり、リクエストをブロックしたりすることはありません。実行時の強制には、@mukundakatta/agentguard を Node プロセス内で直接使用してください。

関連する MCP サーバー

agent-stack シリーズの一部です。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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