mcpField
A
AnyHook (moved)

AnyHook (moved)

Local
anyhook.netDeveloper Tools0Updated 2w ago

About AnyHook (moved)

AnyHook is an MCP server for developers and agents that need to inspect and operate webhook integrations. It provides event lookup and replay, signed-payload mocking, signature verification, and app management, with local and hosted modes.

Key features

  1. 01List and inspect webhook events
  2. 02Replay individual or failed deliveries
  3. 03Mock signed provider payloads
  4. 04Verify incoming webhook signatures
  5. 05Create and manage webhook apps

Use cases

  1. 01Investigate undelivered production events
  2. 02Retry failed webhook deliveries
  3. 03Test a local handler with a signed payload
  4. 04Check why a provider signature was rejected

MCP support

The server exposes webhook app, event, replay, mock, and verification tools to MCP clients. It can run locally or connect to the hosted endpoint at https://anyhook.net/mcp.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"gba3124": {
"command": "npx",
"args": [
"-y",
"anyhook-mcp"
],
"env": {
"ANYHOOK_API_KEY": "<ANYHOOK_API_KEY>",
"ANYHOOK_API_BASE": "<ANYHOOK_API_BASE>"
}
}
}
}
Run commandnpx -y anyhook-mcp
Environment variables to set
ANYHOOK_API_KEYSecretPersonal API key from anyhook.net/dashboard/settings/api-keys. Starts with ahk_live_. Optional: without it, the anyhook_quickstart tool can self-provision an account, or tools run against an in-memory store for local dev.
ANYHOOK_API_BASEOverride the API base URL. Defaults to https://anyhook.net. Used by self-hosted AnyHook installations.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmanyhook-mcp0.2.2

Tools

12

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
dataobjectNoOptional fields to deep-merge into the fixture.
eventstringYesEvent name (e.g. 'payment_intent.succeeded' for Stripe).
secretstringNoSigning secret. Falls back to a deterministic default per provider.
providerenumYesWebhook provider to simulate.stripe | github | slack
targetUrlstringNoIf set, POST the generated request to this URL and return the response.

Details

From the project README

anyhook-mcp

An MCP server that gives AI agents eyes on webhooks, inspect events, replay deliveries, mock signed payloads, create apps. Designed for the 45-second AI handler workflow.

Apache 2.0 · npm i -g anyhook-mcp


Already have an AnyHook account?

Connect the hosted endpoint instead of running anything: add https://anyhook.net/mcp to Claude Code, claude.ai, Codex or VS Code and sign in through the browser, no key to copy. Steps for each app: https://anyhook.net/mcp.

No account yet (local mode)

No API key needed to start:

claude mcp add anyhook -- npx -y anyhook-mcp

Then ask your agent to run anyhook_quickstart, it creates a free relay endpoint + API key instantly (no signup), and this MCP session auto-connects. All account tools (events, replay, apps) work immediately. The response includes a claim_url to keep the endpoint permanently; unclaimed, it expires in 7 days. It is a new endpoint, not an account you already have.

What it does

Drop this MCP server into Claude Desktop / Cursor / Claude Code and your agent can:

  • anyhook_apps_list, see every app in your AnyHook account with its inbound URL
  • anyhook_apps_create, spin up a new app from a prompt
  • anyhook_connect, give a Stripe key or GitHub token: the webhook is registered at the provider and signature-checked from the first event (the key is not stored)
  • anyhook_events, list recent events, filter by app / status
  • anyhook_inspect, pull a single event's headers, body, signature status
  • anyhook_replay, re-send a stored event to its destinations (outside the monthly quota, within a daily replay limit; an event held for quota counts as new)
  • anyhook_undelivered, list events that never reached a destination
  • anyhook_replay_failed, bulk-replay every failed event for an app
  • anyhook_mock, generate a signed Stripe / GitHub / Slack payload for local handler testing
  • anyhook_verify, verify any incoming signature against your secret
  • anyhook_providers, list every webhook provider AnyHook supports

The inbound URL an app gives you accepts webhook POSTs and also answers provider setup handshakes automatically: Meta's GET carrying hub.mode=subscribe gets its hub.challenge echoed back, even before the app is configured, so the URL can be registered in the Meta App Dashboard first and wired up after.

Two modes:

ModeWhenWhat works
remoteANYHOOK_API_KEY is setAll tools above, live against your AnyHook account
localNo API keyProvider toolkit (mock / verify / providers) + an in-memory store you can simulate events into. Useful for trying it out before signing up.

Quick start

npm install -g anyhook-mcp
# or run without installing
npx -y anyhook-mcp

Get an API key from https://anyhook.net/dashboard/settings. Keys start with ahk_live_.


Install in Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "anyhook": {
      "command": "npx",
      "args": ["-y", "anyhook-mcp"],
      "env": {
        "ANYHOOK_API_KEY": "ahk_live_xxxxxxxx"
      }
    }
  }
}

Restart Claude Desktop. The tools appear under the hammer icon.


Install in Cursor

Open Settings → MCP → Add new MCP server. Or edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "anyhook": {
      "command": "npx",
      "args": ["-y", "anyhook-mcp"],
      "env": {
        "ANYHOOK_API_KEY": "ahk_live_xxxxxxxx"
      }
    }
  }
}

Install in Claude Code

claude mcp add anyhook -e ANYHOOK_API_KEY=ahk_live_xxxxxxxx -- npx -y anyhook-mcp

Or add the same mcpServers entry to your project's .mcp.json.


Remote endpoint (no local process)

The same server is hosted at https://anyhook.net/mcp (streamable HTTP, stateless). Claude Code, claude.ai, Codex and VS Code sign in through the browser (OAuth), no key to copy: https://anyhook.net/mcp has the steps for each. Any other client sends Authorization: Bearer ahk_live_... with a key from the dashboard:

{ "mcpServers": { "anyhook": { "url": "https://anyhook.net/mcp", "headers": { "Authorization": "Bearer ahk_live_..." } } } }

The endpoint has no anyhook_quickstart: that tool exists only in local mode.


Local-only mode (no account needed)

Skip the env var:

{
  "mcpServers": {
    "anyhook": {
      "command": "npx",
      "args": ["-y", "anyhook-mcp"]
    }
  }
}

The agent gets anyhook_mock, anyhook_verify, anyhook_providers, anyhook_simulate, anyhook_events (against memory store), and anyhook_inspect (against memory store). Useful for "generate me a signed Stripe payment_intent.succeeded and POST it to localhost:3000" flows during local dev.


Example conversations

Triage a failing endpoint:

"Show me undelivered events for the stripe-prod app from the last hour, then replay them."

The agent calls anyhook_undelivered then anyhook_replay for each, surfacing the responses inline.

Create an app for a new integration:

"Make a new AnyHook app called replicate-video-jobs, source generic, point it at https://my-app.vercel.app/api/replicate-callback."

Calls anyhook_apps_create, returns the inbound URL you paste into Replicate.

Sanity-check a signature failure:

"Here's an inbound payload from Stripe that AnyHook is rejecting. Verify the signature manually with secret whsec_xxx."

Calls anyhook_verify with the supplied headers + body + secret, returns valid: false plus the failure reason.

Mock a webhook for local testing:

"Generate a Stripe payment_intent.succeeded event and POST it to http://localhost:3000/api/webhooks/stripe."

Calls anyhook_mock with targetUrl set; returns the request that was sent + your handler's response.


Environment variables

VarRequiredDefaultPurpose
ANYHOOK_API_KEYfor remote mode-ahk_live_* from https://anyhook.net/dashboard/settings
ANYHOOK_API_BASEnohttps://anyhook.netOverride for self-hosted AnyHook deployments

Why this is interesting

AI agents have been blind to their own webhook infrastructure. They can write the integration code, but once an event misbehaves in production they can't see it, you tell them what happened. With this MCP server, Claude / Cursor can read the actual event log, replay deliveries, debug signature failures, and even spin up new apps. It closes the loop between writing webhook code and operating it.


License

Apache-2.0 © AnyHook

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.