Test Webhooks with Claude and ChatGPT via MCP

Connect Webhook Inspector as an MCP server so your AI assistant can create capture URLs, wait for a webhook and debug the payload with you.

Updated:

Webhook Inspector is also a remote MCP server. Once connected, your AI assistant can work with webhooks by itself: create a URL, give it to Stripe or GitHub, wait for the delivery, read the headers and body, change the response and try again. You no longer copy payloads from the browser into the chat.

The server address is the same for every client:

https://webhook.voronyuk.com/mcp

There is no signup. When you connect, a page opens where you click Allow, and the assistant gets access to the same session (the same URLs) as your browser.

Connect Claude (claude.ai and Claude Desktop)

  1. Open Settings → Connectors and choose Add custom connector.
  2. Name it Webhook Inspector and paste https://webhook.voronyuk.com/mcp.
  3. Click Connect. On the Webhook Inspector page, check the session and click Allow.

In a chat, enable the connector and ask, for example: "Create a webhook URL called stripe and wait for the first request".

Connect Claude Code

claude mcp add --transport http webhook-inspector https://webhook.voronyuk.com/mcp

Then run /mcp in Claude Code, select webhook-inspector and choose Authenticate. The browser opens the consent page; after Allow, the tools are available in the session.

Connect ChatGPT

In ChatGPT, turn on developer mode (Settings → Apps → Advanced settings), create an app with the URL https://webhook.voronyuk.com/mcp and OAuth authentication, then approve access on the consent page. The search and fetch tools also let ChatGPT find captured requests in deep research.

Connect Cursor, VS Code and other clients

Most clients that support remote MCP servers with OAuth accept this configuration:

{
  "mcpServers": {
    "webhook-inspector": { "url": "https://webhook.voronyuk.com/mcp" }
  }
}

For scripts and clients without OAuth, send your session token instead (the part after /r/ in the session link):

Authorization: Bearer <session token>

Available tools

Tool What it does
list_urls Lists your URLs with request counts and configured responses
create_url Creates a capture URL, e.g. https://webhook.voronyuk.com/<hash>/stripe
wait_for_request Waits up to 40 seconds for the next request and returns it with headers and body
list_requests Lists captured requests with search and method filters
get_request Returns one request with all headers and the body
set_response Sets the status, headers, body and delay the URL answers with
clear_requests Deletes the captured requests of a URL
delete_url Deletes a URL and its requests
search, fetch Search across all URLs and read a request as a document (for ChatGPT)

A typical session

  1. "Create a webhook URL for GitHub" → the assistant calls create_url and gives you the URL.
  2. You paste it into Settings → Webhooks of the repository; GitHub sends ping.
  3. "Wait for the webhook and check the signature with my secret" → wait_for_request returns the delivery, and the assistant recomputes X-Hub-Signature-256 from the raw body.
  4. "Make the URL return 500 so I can see GitHub retry" → set_response.

Everything the assistant does appears live in the web tool, because it is the same session.

Security

  • Access is granted per app on the consent page and can be revoked at any time in the tool under Connected apps.
  • Captured requests are sent by third parties. The server marks them as untrusted data, but review what the assistant does with request contents, especially if a URL is public.
  • Tokens expire: access tokens after an hour, refresh tokens after 30 days of inactivity. Requests are deleted after 72 hours; see the privacy policy.

FAQ

Do I need an account to use the MCP server?

No. The consent page connects the assistant to your current browser session. If you have none yet, a new session is created for you.

Can Claude and the browser share the same URLs?

Yes. The assistant works in the session you approved, so URLs it creates appear in the web tool and new requests show up in both places.

How long can wait_for_request wait?

Up to 40 seconds per call. If nothing arrives, the tool returns timed_out and the assistant simply calls it again with the same after_id, so no request is missed.

Can the assistant forward webhooks to my localhost?

Not through MCP: the server cannot reach your computer. Use the CLI agent or browser relay for localhost; the assistant can still read every request and its forwarding result.

Try it now

Get a free webhook URL and watch the requests arrive live — no signup.

Get a webhook URL