AnyHook (moved)

io.github.gba3124Published by GitHub account gba3124v0.2.3Updated Oct 24, 2026

Moved to net.anyhook/anyhook. Webhook relay for agents: keyless quickstart, replay, mock.

The publisher's own server: AnyHook

VerifiedSTDIODesktop onlyDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

AnyHook webhook relay MCP server that lets an assistant inspect webhook events, replay deliveries, mock signed payloads and manage relay apps.

What you can do
List and create webhook relay apps, with their inbound URLs, and connect provider keys so webhooks are registered and signature-checked from the first event (the key is not stored). List recent events filtered by app or status, inspect a single event's headers, body and signature status, and list events that never reached a destination. Replay stored events to their destinations, bulk-replay failed events for an app, and list supported webhook providers. Generate signed Stripe, GitHub or Slack payloads for local handler testing, verify an incoming signature against a secret, and simulate events into an in-memory store. In local mode without a key, a quickstart tool can self-provision a free
When to use it
Useful when you are building or operating webhook integrations and want the assistant to read the actual event log, debug signature failures, resend failed deliveries, or generate signed test payloads for a local handler. Also handy for spinning up a new relay endpoint from a prompt.
Requirements
Runs locally via npx (Node.js). Remote mode needs ANYHOOK_API_KEY, a personal key from the AnyHook dashboard; without it the server runs in local mode with mock, verify, providers and an in-memory store. ANYHOOK_API_BASE optionally overrides the API base URL for self-hosted installations. A hosted remote endpoint also exists with browser sign-in or a bearer key.
Before you install
Remote mode acts on a live AnyHook account: creating apps, replaying deliveries and bulk-replaying failed events change state and may consume quota or hit daily replay limits. The connect tool takes provider credentials such as a Stripe key or GitHub token; the README says the key is not stored, but it is still passed through the assistant. Mock can POST signed payloads to a target URL you specify. The quickstart endpoint expires in 7 days unless claimed.

Installation

In SourceWeft

  1. Open AnyHook (moved) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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:

bash
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

bash
npm install -g anyhook-mcp# or run without installingnpx -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):

json
{  "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:

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

Install in Claude Code

bash
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:

json
{ "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:

json
{  "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

Source: packages/mcp/README.md at commit 7e5b18b

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.3LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Anyhook integrations