MCP Integration

Debug webhooks from
your AI assistant

Hooklistener's MCP server gives Claude Code, Codex CLI, Cursor, and Windsurf direct access to your webhook infrastructure. Create endpoints, wait for the next webhook to land, test email flows end to end, and get an AI diagnosis when a request fails — without leaving the terminal.

AI Assistant
> Create a debug endpoint called 'Stripe Webhooks'
I'll create that endpoint for you.
create_endpoint({ name: "Stripe Webhooks" })
→ https://hook.hooklistener.com/e/abc123
> Trigger a test payment and verify the webhook fires
Triggering it now, then waiting for the webhook.
wait_for_request({ endpoint_id: "abc123", timeout: 60 })
→ POST /webhook • received after 3.1s • stripe-signature: ...

46 tools your AI assistant can use

Every tool maps to a real Hooklistener action. Your AI assistant calls them automatically when you ask about webhooks, endpoints, automations, schedules, email flows, uptime, or stored data.

The server grew from 8 to 46 tools — see the changelog for what landed, or the full tool reference in the MCP documentation.

Debug Endpoints

Create and manage webhook debugging endpoints

list_endpoints

List all debug endpoints in your organization. See names, URLs, and request counts at a glance.

create_endpoint

Create a new debug endpoint and get a unique webhook URL your services can send to.

update_endpoint

Update an existing endpoint's properties — omitted fields stay unchanged.

+2 more: update_endpoint, delete_endpoint

Captured Requests

Inspect, wait for, and replay webhooks

list_requests

List captured webhooks for an endpoint. Filter by HTTP method or path.

get_request

Get full request details: headers, body, query params, and timing information.

wait_for_request

Block until the next webhook arrives on an endpoint (up to 60s) — built for agent-driven end-to-end tests.

forward_request

Replay a captured webhook to any target URL, like your local dev server.

+2 more: get_action_runs, delete_request

Automations

Build and manage action chains on your endpoints

create_http_request_action

Forward a templated payload to a downstream URL, with secret references and header templating.

create_condition_action

Gate downstream actions with field/operator/value rules — or stop the chain on no match.

create_run_script_action

Run JavaScript in a sandboxed runtime (5s timeout) to transform requests into follow-up actions.

create_modify_response_action

Change the status, headers, or body returned to the webhook caller.

list_endpoint_actions

List all automation actions configured on a debug endpoint.

reorder_endpoint_actions

Reorder the action chain by providing action IDs in the desired execution order.

+7 more: extract JSON, assign and store variables, create raw actions, update, reorder, and delete actions

Schedules

Run HTTP jobs on a cron expression

list_schedules

List all scheduled HTTP jobs in your organization.

create_schedule

Create a scheduled HTTP job that hits a target URL on a cron expression like */5 * * * *.

delete_schedule

Delete a scheduled HTTP job.

Secrets

Manage encrypted credentials for actions and forwarding

list_secrets

List your organization's secrets — metadata only, values are never exposed.

create_secret

Create an encrypted secret, referenced in action templates via {{ SECRET_NAME }}.

delete_secret

Delete a secret from your organization.

Datastore

Store and retrieve key-value data across workflows

get_datastore_key

Retrieve a datastore entry by key, with optional namespace scoping.

set_datastore_key

Create or update a datastore entry with any JSON value.

delete_datastore_key

Delete a datastore entry by key and namespace.

list_datastore_keys

List datastore entries with optional namespace and prefix filters.

Uptime Monitors

Monitor your API health and availability

list_monitors

List all uptime monitors in your organization with their current status.

get_monitor_status

Get uptime percentage, average response time, and recent check results.

create_monitor

Create a new uptime monitor to track the availability of a URL.

+2 more: update_monitor, delete_monitor

Email Inboxes

Test email flows end to end with disposable inboxes

create_inbox

Create an inbound email inbox and get back a generated email address.

list_emails

List the inbound emails captured by an inbox.

get_email

Get full details — subject, sender, body — for a captured email.

wait_for_email

Block until an email arrives in an inbox (up to 60s) — verify signup and notification flows in one call.

+1 more: list_inboxes

AI Analysis

Let AI explain what happened to your webhooks

diagnose_request

Get a health verdict for a captured request with findings across its response, automation runs, and forwarding attempts — plus suggestions.

compare_requests

Compare 2-5 captured requests on an endpoint with AI-assisted analysis. Available on paid plans.

Real use cases

See how developers use the MCP server to run end-to-end webhook tests, verify email flows, diagnose failures, and set up infrastructure — all from their AI assistant.

Let your agent verify webhooks end to end

Agentic testing without polling loops: your AI triggers an action in your app, then calls wait_for_request to block until the webhook lands — up to 60 seconds. The test passes or fails in a single conversation, and you see the actual payload your code sent.

  • wait_for_request blocks until a webhook arrives or times out
  • Set timeout to 0 to only check for already-captured requests
  • Verify the payload your code actually sent, not what you assumed
  • No sleep-and-retry scripts or manual dashboard refreshing
AI Assistant
> Create a test order and verify the webhook fires
Creating the order, then waiting for the webhook.
wait_for_request({ endpoint_id: "ep_123", timeout: 60 })
→ POST /webhook • received after 3.4s
→ { "event": "order.created", "id": "ord_42" }
Webhook verified — the payload matches the new order.

Test a signup email flow end to end

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 block on wait_for_email until the message arrives. Email inboxes are a paid-plan feature.

  • create_inbox returns a generated email address instantly
  • wait_for_email blocks until a message arrives (up to 60 seconds)
  • Inspect subject, sender, and body with get_email
  • Works for signup, password reset, and notification flows
AI Assistant
> Verify the welcome email goes out on signup
Creating a test inbox, then signing up with it.
create_inbox({ name: "Signup test" })
→ Inbox created • address generated
wait_for_email({ inbox_id: "inb_9f2", timeout: 60 })
→ Email received after 2.8s • "Welcome aboard!"

Ask why a webhook failed

When a request 500s, you don't have to piece together logs yourself. diagnose_request analyzes the captured response, body, automation runs, and forwarding attempts, then returns a health verdict with findings and concrete suggestions.

  • Health verdict per request: ok, info, warning, or error
  • Findings cover response status, invalid JSON bodies, and missing headers
  • See exactly which automation action failed and why
  • Forwarding attempts are analyzed in the same report
AI Assistant
> Why did the last Stripe webhook fail?
diagnose_request({ endpoint_id: "ep_123", request_id: "req_a1b2" })
→ Health: error • response returned 500
→ Finding: action "Forward to API" failed
→ Suggestion: check the downstream URL and replay

Set up webhook infra for a new project

Starting a new integration? Ask your AI to create a debug endpoint and an uptime monitor in one conversation. Get back a webhook URL and health monitoring without touching the dashboard.

  • Create a named debug endpoint in seconds
  • Get a unique webhook URL to configure in third-party services
  • Set up an uptime monitor for your receiving API
  • All from a single AI conversation
AI Assistant
> Set up webhook infra for my new payments service
I'll create an endpoint and a monitor.
create_endpoint({ name: "Payments Service" })
→ https://hook.hooklistener.com/e/pay_xyz
create_monitor({ url: "https://api.example.com/health" })
→ Monitor created • checking every 60s

Set up in under a minute

Pick your AI tool, connect with OAuth or an API key, and start using webhook tools immediately.

Terminal
# OAuth 2.0 (recommended) — signs in via browser automatically
claude mcp add --transport http hooklistener https://app.hooklistener.com/api/mcp

# Or use an API key (legacy)
claude mcp add --transport http hooklistener https://app.hooklistener.com/api/mcp \
  --header "Authorization: Bearer hklst_your_api_key_here"

# Add --scope project to share with your team (writes to .mcp.json)
# Add --scope user for all your projects
# Run /mcp to verify the server appears

Prerequisites: A Hooklistener account. OAuth 2.0 handles authentication automatically — just sign in when prompted. It works in any MCP client that supports remote server auth. For legacy API key authentication, generate one from Organization Settings > API Keys.

For detailed setup instructions, see our step-by-step guide for AI coding assistants or the MCP setup docs.

Frequently Asked Questions

Everything you need to know about using the MCP server

What is MCP and how does it work with Hooklistener?
MCP (Model Context Protocol) is an open standard that lets AI coding assistants call external tools. Hooklistener's MCP server exposes 46 tools across 9 categories — debug endpoints, captured requests, automations, schedules, secrets, a key-value datastore, uptime monitors, email inboxes, and AI analysis — so your AI assistant can interact with your webhook infrastructure directly from the terminal. See the full tool reference at docs.hooklistener.com.
Which AI tools support Hooklistener's MCP server?
Hooklistener works with any MCP-compatible client that supports the Streamable HTTP transport. This includes Claude Code, OpenAI Codex CLI, Cursor, and Windsurf. If your tool supports MCP over HTTP, you can connect it to Hooklistener.
How do I authenticate with the MCP server?
The recommended method is OAuth 2.0 — just add the MCP server and your client handles authentication automatically via a browser sign-in. Alternatively, you can use an API key (legacy): go to Organization Settings > API Keys and generate a key starting with hklst_. See docs.hooklistener.com for full authentication details.
Is the MCP server included in the free plan?
Yes. MCP access works on all plans, including free — sign in via OAuth 2.0 when you add the server and you're connected, no API key needed. Some individual tools follow your plan's features: uptime monitors, the datastore, email inboxes, and AI request comparison require a paid plan. All plans use the same MCP server endpoint.
Is my data secure when using MCP?
Yes. All communication with the MCP server uses HTTPS. Every request is authenticated via OAuth 2.0 tokens (or a legacy API key), and data is scoped to your organization. Hooklistener hosts all data in Europe and never shares your webhook data with third parties.
What can I ask my AI assistant to do?
Anything the 46 tools support: create debug endpoints, build automation chains, wait for the next webhook to arrive ("trigger the test and tell me when the webhook lands"), create an email inbox and wait for an email, diagnose why a request failed, check uptime status, manage schedules and secrets, store key-value data, and more. Your AI assistant figures out which tool to call based on your natural language request.
How is this different from using the Hooklistener dashboard?
The dashboard gives you a full visual interface with real-time updates, charts, and advanced filtering. The MCP server gives your AI assistant programmatic access to the same data, so you can debug webhooks without leaving your terminal or IDE. They're complementary — use whichever fits your workflow.
What transport does the MCP server use?
Hooklistener uses the Streamable HTTP transport (JSON-RPC 2.0 over HTTP POST). This is the recommended transport for remote MCP servers. It doesn't require running a local process or stdio — just the HTTP endpoint and an OAuth sign-in (or a legacy API key).

Have more questions about the MCP server?

Read the full MCP documentation

Ready to debug webhooks from your AI assistant?

Connect your AI coding tool to Hooklistener in under a minute. 46 tools for endpoints, automations, schedules, requests, email testing, uptime, and storage — all from the terminal.

Free tier available • No credit card required • Setup in under a minute • Read the docs