mcpField
W
Webhook.site MCP Server

Webhook.site MCP Server

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

Webhook.site MCP Server について

Webhook.site MCP Serverは、MCPクライアントをwebhook.siteに接続し、HTTPリクエスト、メール、DNSコールバックを捕捉して確認できるようにします。リアルタイム待機、カスタム応答、イベントのエクスポート、許可を得たセキュリティテストにも対応します。

主な機能

  1. 01HTTP、メール、DNSの受信先を作成
  2. 02コールバックイベントの捕捉、検索、確認
  3. 03リクエストやメールの到着を待機
  4. 04テストリクエストの送信と動的応答の設定
  5. 05捕捉データをJSONまたはCSVでエクスポート
  6. 06許可を得たテスト向けのSSRF、XSS、カナリアペイロード生成

活用シーン

  1. 01Webhook配信とAPIコールバックをテスト
  2. 02認証メールやパスワードリセットメールを確認
  3. 03許可を得たセキュリティテストでDNSまたはHTTPコールバックを監視
  4. 04捕捉したリクエストデータを分析、エクスポート

MCP 対応

MCPサーバーはwebhook.siteの受信先やアカウント機能をツールとしてMCPクライアントに公開します。設定とAPIキーの権限に応じて、受信先の作成、イベントの確認、コールバックの待機、アカウント機能の管理ができます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"zebbern-webhook": {
"command": "uvx",
"args": [
"webhook-mcp-server"
]
}
}
}
起動コマンドuvx webhook-mcp-server

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

パッケージ
pypiwebhook-mcp-server3.0.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Webhook.site MCP サーバー

PyPI Python MCP

webhook.site 用の Model Context Protocol(MCP)サーバーです。HTTP リクエスト、メール、DNS ルックアップをすぐにキャプチャできます。Webhook のテスト、API コールバックのデバッグ、セキュリティテスト、バグバウンティハンティングに最適です。

セキュリティ支援ツール(SSRF、XSS、カナリアトークン)は、許可されたテストのみに使用してください。対象は、ご自身が所有するシステム、またはテストする明示的な許可を得たシステムです。


目次


クイックスタート

インストール
# Using uvx (recommended - no install needed)
uvx webhook-mcp-server==3.0.0

# Or install via pip
pip install webhook-mcp-server==3.0.0

3.0.0 以降を使用してください。2.1.3 は MCP 2.0 では起動しません。3.0 では一部のツール名が変更されています(2.x からのアップグレードを参照)。

VS Code / GitHub Copilot

.vscode/mcp.json に追加します。

{
  "servers": {
    "webhook-mcp-server": {
      "type": "stdio",
      "command": "uvx",
      "args": ["webhook-mcp-server==3.0.0"]
    }
  }
}
Cursor

プロジェクトの .cursor/mcp.json またはユーザー MCP 設定に追加します。

{
  "mcpServers": {
    "webhook-mcp-server": {
      "command": "uvx",
      "args": ["webhook-mcp-server==3.0.0"]
    }
  }
}
Claude Desktop

claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "webhook-mcp-server": {
      "command": "uvx",
      "args": ["webhook-mcp-server==3.0.0"]
    }
  }
}
設定

すべての設定はサーバープロセスの環境変数です。MCP クライアント設定の env ブロックに記述してください。

変数用途
WEBHOOK_SITE_API_KEYwebhook.site の API キーです。新しい URL を永続化し(ご利用プランの上限内)、list_webhooks、カスタムアクション、スケジュール、グローバル変数、グループ、キュープロファイル、テンプレート、データベース、ユーザー、CSV エクスポートを利用できるようにします
WEBHOOK_SITE_DEFAULT_EXPIRY呼び出しで expiry が指定されていない場合に、新しい URL が期限切れになるまでの秒数です。未設定の場合、有料アカウントでは永続(匿名 URL は 7 日間)になります
WEBHOOK_MCP_RATE_LIMIT_MAX_WAITwebhook.site が Retry-After を付けて 429 を返した場合、この秒数(デフォルトは 15 秒)まで待機して一度だけ再試行します。それより長い待機時間の場合は、待機時間を示すエラーが報告されます
FOLLOW_EMAIL_LINK_ALLOW_HOSTSfollow_email_link はパブリックインターネット上のホストへのリンクのみを開き、確認したアドレスに接続します(DNS リバインディングは発生しません)。ご自身のマシンやイントラネット上で登録フローをテストするには、許可する対象を列挙します:localhost,127.0.0.1,*.corp.example,10.0.0.0/8
HTTPS_PROXY / HTTP_PROXY / NO_PROXYfollow_email_link で使用されます。接続はプロキシが行うため、接続先は固定されず、リクエストの前にチェックされます
SSL_CERT_FILE / SSL_CERT_DIR企業の TLS インターセプト用に、follow_email_link で使用するカスタム CA バンドルを指定します

確認リンクへのリクエストが完了した後、許可されていない場所(ローカルの開発サーバーやイントラネットのダッシュボードなど)へリダイレクトされた場合、このツールは失敗として扱わず、そのリダイレクト先のステータスを、拒否された接続先とともに blocked_redirect に報告します。トークンを消費したリクエスト自体はすでに実行されており、サイトが確認済みとして扱ったかどうかは問いません。


できること

Webhook のキャプチャ
"Create a webhook and show me the URL"
"What requests have been sent to my webhook?"
"Wait for a request to come in"
Webhook
セキュリティ/バグバウンティ:
"Generate an SSRF payload to test for blind vulnerabilities"
"Create XSS callback payloads to detect blind XSS attacks"
"Make me a canary token to detect if someone accesses a URL"
セキュリティ
メールの自動化:
"Create a temp email and wait for a password reset link"
"Monitor this webhook for emails and extract all links from them"
"Give me 3 temporary emails at once" (batch creation)
メール
API テスト:
"Create a webhook that returns a 404 error with a custom message"
"Make a webhook with CORS enabled that waits 5 seconds before responding"
"Send 10 different test requests to a webhook and show me all the captured data"
"Hold the next request and answer it with a 402 and this JSON body"
API ### リアルタイム監視:
"Create a webhook and wait for any HTTP request to arrive"
"Monitor for DNS lookups to detect if a server is making DNS queries"
"Search all requests for ones containing 'password' in the body"
監視
データ分析:
"Export all captured webhook requests to JSON format"
"Show me statistics on requests received in the last hour"
"Filter and show only POST requests with specific headers"
データ
アカウントを使って自動化:
"Add a Custom Action that forwards every request to my staging API"
"Schedule a health check of https://example.com every 5 minutes and alert on a bad status"
"Write a WebhookScript that answers with the request's JSON field 'id'"
実践
Canary Tokens
"Create a canary URL to track document access"
"Generate a DNS canary for the config file"
"Set up an email tracker pixel"
CanaryTokens

ツールリファレンス

匿名の7日間URLでは、アカウントなしですべての機能を利用できます。WEBHOOK_SITE_API_KEYを設定すると、URLが永続化され、アカウント用ツールでプランの機能を利用できるようになります。すべてのwebhook_tokenでは、UUID、エイリアス、貼り付けたhttps://webhook.site/... URL、または受信トレイのアドレスを使用できます。各ツールの全パラメーターについては、docs/TOOLS.mdを参照してください。

サーバーから生成された31個のツールです(scripts/gen_tool_docs.py)。

診断
ツール説明
server_statusこのサーバーの設定を確認します:API キー、アカウントへの接続状況、プラン、リアルタイムソケット、環境設定。
Webhook
ツール説明
create_webhookWebサイトへの登録に使える使い捨て受信トレイを作成します:HTTP URL、一時メール、DNS。
configure_webhookカスタム設定でWebhookを作成するか、既存のWebhookを更新します(webhook_tokenを指定)。
get_webhook_infoWebhookの設定、有効期限、リクエスト数、すべてのアドレスを表示します。
get_webhook_email登録、認証、マジックリンク、またはパスワードリセットに使う一時受信トレイを返します。
list_webhooksアカウント内のWebhook(URL/受信トレイ)を一覧表示します。WEBHOOK_SITE_API_KEYが必要です。
delete_webhookWebhookと、キャプチャしたすべてのリクエスト/メールを完全に削除します。
リクエスト
ツール説明
send_requestsテスト用に、1つのJSON本文(data)または複数の本文(payloads)をWebhook URLに送信します。
get_webhook_requestsWebhookのキャプチャ済みHTTP、メール、またはDNSイベントを1ページずつ一覧表示します。
search_requestsメソッド、本文テキスト、ヘッダー、タイプ、または日付でキャプチャ済みイベントを検索します。
get_requestキャプチャ済みイベントを1件返します。デフォルトでは最新のイベント、またはrequest_idで指定したイベントを返します。
update_requestキャプチャ済みリクエストにメモを追加するか、その動的レスポンスを設定します。
download_request_filefile_idを指定して、アップロードされたファイルまたはメールの添付ファイル(base64)をダウンロードします。
delete_requestリクエストIDを指定して、キャプチャ済みHTTP、メール、またはDNSイベントを1件削除します。
delete_all_requestsWebhookのキャプチャ済みイベントを、必要に応じて日付または検索クエリで絞り込んで削除します。
export_webhook_dataHTMLと省略されていない本文を含む、キャプチャ済みイベントの完全なデータをJSONまたはCSVでエクスポートします。
リアルタイム
ツール説明
wait_for_request新しいHTTP(またはDNS)コールバックがWebhookに届くまで待機します(1~120秒)。
wait_for_email登録、認証、マジックリンク、またはパスワードリセットのメールが届くまで待機します(1~120秒)。
respond_to_next_requestWebhookに届く次のリクエストを保留し、独自のステータス、ヘッダー、本文で応答します。
follow_email_linkキャプチャ済みの登録メールに含まれる認証/マジックリンク/リセットURLを開きます。
アカウント機能(API キー)
ツール内容
manage_custom_actions各リクエストの受信時、またはトークンにメールが届くたびに webhook.site が実行する Custom Actions を管理します。
manage_schedulesSchedules を管理します。webhook.site は一定間隔で request_url を呼び出します(API キーが必要です)。
manage_global_variablesすべての URL で共有され、Custom Actions や Schedules で $name$ として使用できる Global Variables を管理します。
manage_groupsアカウントの webhook を整理する Groups を管理します(API キーが必要です)。
manage_queuesキューに入った Custom Actions を調整する Queue Profiles を管理します(API キーが必要です)。
manage_templates再利用可能な Custom Actions のセットと定義済み変数を含む Templates を管理します(API キーが必要です)。
manage_databaseswebhook.site Databases を管理し、SQL を実行します(API キーが必要です)。
manage_usersEnterprise アカウントのチームユーザーを管理します(管理者 API キーが必要です)。
セキュリティテスト
ツール内容
generate_oob_payloadsこの webhook に ping を送信する、許可されたアウトオブバンドペイロードを作成します。SSRF URL、XSS コールバック、またはカナリアトークンを生成できます。
check_for_callbacks過去 N 分間に SSRF、XSS、またはカナリアのコールバックが届いたか確認します。
extract_links_from_requestキャプチャしたメールまたは HTTP 本文から、確認、リセット、マジックリンクなどの URL を抽出します。
2.x からのアップグレード
2.x のツール3.0 の代替
create_webhook_with_config, update_webhookconfigure_webhook(更新する場合は webhook_token を渡します)
get_webhook_url, get_webhook_dnsget_webhook_info のフィールド
get_latest_requestget_request
send_to_webhook, send_multiple_requestssend_requests(data または payloads)
generate_ssrf_payload, generate_xss_callback, generate_canary_tokengenerate_oob_payloads(kind=ssrf|xss|canary、canary_type)

例

ウェブサイトに登録する
  1. create_webhook — email({token}@emailhook.site)を取得します
  2. そのアドレスをサイトで使用します(登録、確認、マジックリンク、またはパスワードのリセット)
  3. wait_for_email — メッセージ、確認/ログイン/リセット URL、および OTP を受信します
  4. follow_email_link で確認リンクを開くか、サイトで verification_codes を入力します

すでにトークンをお持ちの場合、get_webhook_email は同じ受信トレイを返します。

Webhook を作成する
// Response from create_webhook
{
  "token": "abc123-def456-...",
  "url": "https://webhook.site/abc123-def456-...",
  "email": "[email protected]",
  "dns": "abc123-def456-....dnshook.site"
}
パスワードリセットメールを待つ
// Response from wait_for_email
{
  "email_received": true,
  "subject": "Password Reset Request",
  "from": "[email protected]",
  "auth_links": ["https://example.com/reset?token=xyz789"],
  "verification_codes": ["847291"]
}
ページングせずに新しいイベントをポーリングする
// get_webhook_requests(webhook_token, since=<next_since from the previous call>)
{
  "requests": [ ... only what arrived after the cursor ... ],
  "next_since": 1788472548944304
}
SSRF テスト用ペイロード
// Response from generate_oob_payloads(kind="ssrf")
{
  "payloads": {
    "http": "https://webhook.site/token?id=ssrf-test",
    "dns": "ssrf-test.token.dnshook.site",
    "ip_decimal": "http://2130706433/token",
    "ip_hex": "http://0x7f000001/token"
  }
}

各 Webhook トークンで利用できるもの

エンドポイント形式用途
HTTP URLhttps://webhook.site/{token}HTTP/HTTPS リクエストをキャプチャします(任意のサブパスも対象)
サブドメインhttps://{token}.webhook.site代替の URL 形式
ステータスの指定https://webhook.site/{token}/{status}指定したステータスで応答します。再試行ロジックのテストに使用します
メール{token}@emailhook.site受信メールをキャプチャします
DNS{token}.dnshook.siteDNS ルックアップをキャプチャします(すべてのサブドメイン)

ドキュメント

ページ内容
docs/TOOLS.mdサーバーから生成された、パラメーターとヒントを含む全ツールの一覧
docs/webhook-site-notes.mdwebhook.site の実際の動作をライブ環境で検証した内容。公式ドキュメントの誤りも含みます
docs/testing.md4 つのテストレイヤー、記録、検証スクリプト、モデル評価、アカウントの安全性
docs/releasing.mdバージョンの更新、タグ付け、公開ワークフロー
CHANGELOG.mdバージョン履歴

開発

git clone https://github.com/zebbern/webhook-mcp-server.git
cd webhook-mcp-server
pip install -e ".[dev]"
pytest -m "not live and not live_auth"     # offline suite incl. replay of recorded live exchanges
python server.py                            # run the server on stdio

オフラインテストスイートでは、実際に記録された webhook.site のやり取りを再生します。ライブツールチェックと live / live_auth ティアでは、実際の API にアクセスします。詳細はdocs/testing.mdをご覧ください。

構成:server.py(エントリーポイントとライフスパン)、handlers/tools.py(ツールの登録)、services/(API 領域ごとのモジュール)、utils/(HTTP クライアント、リアルタイムソケット、URL の安全性、参照)、scripts/(ライブチェック、ジェネレーター、検証ツール)、evals/(モデルを組み込んだプロンプト)。


要件

  • Python 3.10+
  • mcp >= 2.0.0
  • httpx >= 0.26.0、httpcore >= 1.0.0、anyio >= 4.0.0
  • python-socketio[asyncio_client] >= 5.11.0(リアルタイムの待機に使用。これがない場合、ツールはポーリングにフォールバックします)

コントリビューション

バグ報告や PR を歓迎します。PR には変更を 1 つだけ含め、実際の API に照らして期待値を確認したテストを追加し(docs/testing.mdを参照)、ツールに変更を加えた後は python scripts/gen_tool_docs.py を実行してください。


クレジット

このプロジェクトは webhook.site とは提携しておらず、webhook.site による承認も受けていません。

リンク


MCP コミュニティのために ❤️ を込めて作成

コメント

MCP は初めてですか?

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

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