Hooklistener is a webhook debugger with a hosted MCP server. It gives Claude Code, Codex, Cursor, and any MCP client 67 tools to create webhook URLs, wait for the next webhook, verify its signature, replay it to localhost, and test emails and WebSocket clients — without leaving the conversation.
Updated September 2026 · Streamable HTTP · OAuth · No local install
One hosted server covers webhooks, email inboxes, WebSocket and MQTT endpoints, localhost tunnels, and uptime monitors. Your agent picks the right tool when you ask it to test, verify, or replay something.
Tools come in seven toolsets. A new workspace lists 26: every webhook tool plus the tool that starts each other product. Create your first inbox, monitor or real-time endpoint and that toolset appears the next time your client connects. To list everything up front, send the header x-hooklistener-toolsets: all.
See the changelog for what landed recently, or every input and output in the MCP tool reference.
Capture, inspect, verify and replay webhook requests
Create a debug endpoint and get a unique webhook URL to paste into Stripe, GitHub, Shopify, or your own service.
Wait for a matching webhook (method, path, event type, header or body match) as a durable task, or hold the call open up to 60 s with blocking: true.
List captured webhooks, or search them across the organization by text, event type, status or time.
Check Stripe, GitHub, or Slack signatures against a stored secret and report timestamp freshness at capture time.
Replay or forward a webhook to any URL or your local CLI tunnel, with an edited body and optional Stripe, GitHub, or Slack re-signing.
A health verdict for one request covering the response, body, mock rules, and every forwarding attempt — with next steps.
Also: list_endpoints, get_endpoint, update_endpoint, delete_endpoint, get_request, delete_request, investigate_request_retries, validate_request, diff_requests, compare_requests, list_request_forwards, list_secrets, create_secret, delete_secret, cancel_task
Mock responses, correlated threads and integration alerts
Return a different status, headers, or body when a request matches conditions — simulate failures and retries.
Evaluate your ordered rules against a synthetic request without capturing any traffic.
Correlate requests by a field such as an order or payment ID and follow each object's lifecycle.
See what changed in an integration: new event types, missing fields, type changes, volume drops, or a sender that went silent.
Also: update_response_rule, delete_response_rule, list_request_threads, list_thread_requests, delete_thread_rule, set_endpoint_alerts
Turn real webhooks into a regression suite
Save a captured request as a replayable case with a default target and assertions.
Replay one case or a whole suite against localhost, staging, or production.
Wait for the run to finish and read a pass/fail report per case.
Also: list_endpoint_cases, update_request_case, delete_request_case, replay_request_case, list_endpoint_case_suites, create_endpoint_case_suite, update_case_suite, delete_case_suite, add_case_to_suite, remove_case_from_suite, list_endpoint_case_runs, get_case_run
Hosted servers your agent can connect clients to and drive
Create a hosted WebSocket, Socket.IO, MQTT-over-WebSocket, or SSE endpoint for your client to connect to.
Wait until your client sends (or receives) a message that contains the text you expect.
Push a message, event, or MQTT topic to one session or broadcast to all.
Create auto-responder rules so the endpoint answers your client like a real server.
Also: list_realtime_endpoints, list_realtime_sessions, get_realtime_messages
Test signup, magic-link, and OTP emails end to end
Create a disposable inbox and get a generated address.
Wait for the email to arrive — verify signup and password reset flows without polling.
Read the subject, sender, headers, and bodies to pull out links and codes.
Also: list_inboxes, list_emails
Watch the API that receives your webhooks
Start monitoring a URL's availability.
Uptime percentage, average response time, and recent checks.
Also: list_monitors, update_monitor, delete_monitor
Inspect and replay traffic captured by the CLI tunnel
Plan a tunnel action and see its risk and required confirmation before anything changes.
Replay a captured request through your local tunnel after explicit confirmation.
Also: read_tunnel_capture_sensitive, add_tunnel_case_capture
How developers use the MCP server to run end-to-end webhook tests, verify email flows, fix signature bugs, and test real-time clients — all from their AI coding agent.
Agentic testing without polling loops: your AI triggers an action in your app, then calls wait_for_request, which waits for the matching webhook as a durable task (or holds the call open up to 60 seconds with blocking: true). The test passes or fails in a single conversation, and you see the actual payload your code sent.
Need to prove your app actually sends the welcome email? Ask your AI to create an email inbox, sign up with the generated address, and wait for the message with wait_for_email. The free plan includes one inbox.
When a request 500s, you don't have to piece together logs yourself. diagnose_request analyzes the captured response, body, mock rules, and every forwarding attempt, then returns a health verdict with findings and concrete suggestions.
Signature bugs are the classic webhook failure. Your agent checks the captured request against your stored signing secret, then replays it to your local server re-signed with a fresh timestamp — so your handler sees exactly what Stripe would send.
Point your client at a hosted WebSocket, Socket.IO, MQTT, or SSE endpoint. Your agent waits for the message your client should send, answers like your real server, and reads the whole session back.
Pick your AI tool, add one URL, and sign in with your browser. Nothing to install or run locally.
claude mcp add --transport http hooklistener https://app.hooklistener.com/api/mcp
# Then run /mcp inside Claude Code, pick "hooklistener",
# and sign in with your browser (OAuth). Tokens refresh automatically.
# --scope project shares it with your team (writes .mcp.json)
# --scope user enables it in all your projectsPrerequisites: A Hooklistener account (the free plan works). OAuth handles sign-in in any client that supports remote MCP auth, and you can grant read-only access for inspection. For clients without OAuth, create an API key in Organization Settings > API Keys.
Step-by-step guide for your client: Claude Code, Codex, Cursor, VS Code, Claude, ChatGPT, Gemini CLI, Windsurf, Zed, OpenCode, Grok.
For detailed setup instructions, see our step-by-step guide for AI coding assistants or the MCP setup docs.
Everything you need to know about using the MCP server
Have more questions about the MCP server?
Read the full MCP documentationConnect your AI coding tool to Hooklistener in under a minute. 67 tools for webhooks, replay suites, email inboxes, real-time endpoints, tunnels, and uptime — all from the conversation.
Free tier available • No credit card required • Setup in under a minute • Read the docs