AnyHook
Server Details
A webhook inbox for agents: one call returns a live URL. Mock, verify, inspect and replay.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- gba3124/anyhook-mcp
- GitHub Stars
- 0
- Server Listing
- anyhook-mcp
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 17 tools
Most tools map to a distinct resource+action: apps_create/list, destination_add, events vs inspect (summary vs full payload), replay vs replay_failed (single event vs bulk failed drain), mock vs connect (synthetic request vs real provider registration). A few pairs need the description to separate them — particularly 'events' vs 'undelivered' (a filtered event list) and 'replay' vs 'replay_failed' — but the boundaries are stated explicitly, so misselection risk is low.
Every name is snake_case with the uniform anyhook_ prefix, which makes the family instantly recognizable. The pattern wobbles between namespaced noun_verb (anyhook_apps_create, anyhook_code_deploy, anyhook_destination_add) and bare predicate names (anyhook_replay, anyhook_inspect, anyhook_undelivered), so the verb is not always in the same position, but each name remains readable and self-explanatory.
At 17 tools the surface is on the heavy side, but each one covers a genuinely different capability of a webhook platform (ingest, inspect, replay, code handlers, mocking, signature verification, quotas, email inbox). Nothing looks like filler or a duplicate of another tool, so the count is justified rather than bloated.
The ingest-inspect-replay-handler loop is well covered, but lifecycle management is one-sided: there is create/list for apps and add for destinations, with no tool to delete or deactivate an app, remove a destination, or rotate a signing secret (rotation is described as the only way to get a plaintext secret, yet no tool exposes it). Agents hitting those needs will have to fall back to a dashboard.
Available Tools
17 toolsanyhook_apps_createCreate a new AnyHook appADestructiveInspect
Create a new app with a name, provider source, and (optionally) destinations. Returns the inbound URL. The app is active immediately. Created WITHOUT destinations it still receives and LOGS every event (inspect-only), it just delivers nowhere until a destination is added with anyhook_destination_add.
Inputs: name (required), source, destinations.
anyhook_apps_listList your AnyHook appsARead-onlyIdempotentInspect
List apps in your AnyHook account with inbound URLs, sources, and destination URLs. With isActive false, an app's inbound URL answers setup handshakes but acknowledges and discards event POSTs (202, reason app_inactive) instead of relaying them. Destination signing secrets are redacted to has_signing_secret plus a 4-char hint; a new secret in plaintext comes only from rotating it. An app whose slug was changed lists its former URLs under legacyInboundUrls; those still route to it.
Inputs: no named parameters.
anyhook_code_deployDeploy code that runs on an app's eventsADestructiveInspect
Save a handler that runs on every event this app receives, in an isolated sandbox, with AnyHook's retries and replay around it: no server of your own. Each run's console output and return value are stored as that delivery's response (anyhook_inspect shows them). It can also run on a cron schedule. Pro and Scale; runs are capped per month with no overage, retries, test runs and schedule firings each count, and each run and package install is charged to the monthly compute allowance (anyhook_usage shows both). anyhook_code_test runs it on a stored event.
Inputs: code (required), appSlug (required), enabled, secrets, +1 more.
anyhook_code_getRead an app's code handlerBRead-onlyInspect
The code that runs on this app's events: its source, the names of its secrets (never the values), whether events are reaching it, and runs used this month against the plan's limit.
Inputs: appSlug (required).
anyhook_code_testRun an app's code on a stored eventADestructiveInspect
Run the saved handler now and return its logs, return value and duration: on a stored event (the latest when event_id is omitted) or on a body you give. Counts as a run. Nothing is delivered, but whatever the code itself sends does happen.
Inputs: appSlug (required), body, event_id.
anyhook_connectConnect Stripe or GitHub with one keyADestructiveInspect
Wire a provider to AnyHook in one call: give a Stripe or GitHub key and AnyHook registers the app's inbound URL as a webhook at the provider, saves the signing secret it yields, and turns on signature verification at the edge. The provider is read from the key; the key is used once and not stored. Without appSlug a new app is created (and removed again if the provider refuses the key). Re-running replaces the registration instead of duplicating it. GitHub sends a signed ping immediately, so the first event appears within seconds. Until the app has a destination (anyhook_destination_add), events are received and logged but not forwarded.
Inputs: provider_key (required), target, appSlug.
anyhook_destination_addForward an app's events to a URLADestructiveIdempotentInspect
Add a destination to an existing app: new events are forwarded to this URL, with retries, within about a minute, and the app's other destinations stay as they are. Adding a URL the app already has changes nothing. Returns the destination's signing secret once, for verifying the AnyHook-Signature header on the receiving server.
Inputs: url (required), appSlug (required).
anyhook_eventsList recent webhook eventsARead-onlyIdempotentInspect
List webhook events, most recent first: id, app, type, status, attempt, destination status code, latency, timestamp. Summaries only, no request headers or body; anyhook_inspect reads one event's payload by the id from here. Uses your AnyHook account when connected, otherwise the local in-memory store.
Inputs: limit, status, appSlug.
anyhook_inboxGet this app's email inbox addressARead-onlyInspect
Every AnyHook app is also an email inbox: mail sent to {user}.{app}@anyhook.net becomes an event (type email.received) you can read with anyhook_events. Returns the address and webhook URL for one of your apps.
Inputs: app.
anyhook_inspectInspect a specific eventARead-onlyIdempotentInspect
Full detail for one event by id, including the inbound headers and body that anyhook_events omits, plus the destination's response. Payloads can be large and often contain personal data, so it reads one event at a time, for when the body is needed. Account or local store.
Inputs: id (required).
anyhook_mockMock a webhookADestructiveInspect
Generate a webhook request with a valid signature for Stripe, GitHub, or Slack. If targetUrl is provided, the request is POSTed there and the response is returned. This hosted server reaches public https URLs only; to reach localhost, run npx -y anyhook-mcp.
Inputs: event (required), provider (required), data, secret, +1 more.
anyhook_providersList the providers anyhook_mock can simulateARead-onlyInspect
List webhook providers AnyHook can mock, along with the event types available for each.
Inputs: no named parameters.
anyhook_replayReplay an eventADestructiveInspect
Re-send a stored event to its destinations. Replays sit outside the monthly event quota but within a daily replay limit per plan and the monthly compute allowance (anyhook_usage), and replaying an event that was held for quota bills it as a new event. The destination does run its handler again: a receiver that is not idempotent will process the event twice while debugging.
Inputs: id (required).
anyhook_replay_failedBulk-replay an app's failed eventsADestructiveInspect
Re-send an app's failed events after the destination is fixed, oldest first: by default those received in the last 24 hours, at most 50 per call (since and limit change both; limit goes up to 100). Events held by an open circuit are included. An event replayed once is not selected again, so a second call continues with the rest. The result lists what was replayed, what was skipped and why, and more: true while failed events are still waiting. Replays count against the plan's daily replay limit.
Inputs: appSlug (required), limit, since.
anyhook_undeliveredList undelivered events for an appARead-onlyInspect
Events for the given app that have not reached a destination: failed, held (circuit_open, quota_exceeded), still retrying, or logged while anyhook-mcp listen was stopped. An app with no destination has none: its events are logged, not forwarded.
Inputs: appSlug (required), limit.
anyhook_usageShow plan limits and usageARead-onlyIdempotentInspect
What the plan allows and what this account has used of each: events this month (per delivery, large events count per 64 KB), overage, the compute allowance and what used it (retries, replays, waiting on slow destinations, code runs, builds, schedules), API calls today (each tool call that reads or changes the account counts one), code runs and package snapshots, with when each resets. It says how much is left when something answers with a limit, before bulk work such as replay_failed, or when the user asks what they are using.
Inputs: no named parameters.
anyhook_verifyVerify a webhook signatureARead-onlyInspect
Verify a webhook signature against a secret, for every source the AnyHook edge verifies, including stripe, github, shopify, slack, line, discord, linear, vercel, paddle, hubspot, paypal and xero.
Inputs: body (required), secret (required), headers (required), provider (required), +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Instant no-signup webhook & HTTP-request inspector for testing webhooks and agent tool-callbacks.
Webhook, email, WebSocket and tunnel testing for AI agents: capture, wait, verify, replay.
Capture, inspect, send and assert on webhooks and inbound email from your coding agent.
Webhook URLs for AI agents: receive, wait for, replay, sign and verify webhooks (Stripe, GitHub…).
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceWebhook capture and replay, delivery pipes, and signed multi-agent rooms. No signup to start.149 npmMIT
- AlicenseAqualityDmaintenanceEnables AI agents to create disposable webhook URLs, capture incoming HTTP requests, inspect headers and bodies, and replay them against local or remote endpoints, streamlining the webhook handler development loop.58 npmMIT
- AlicenseAqualityCmaintenanceCaptures incoming webhook/HTTP requests and lets AI assistants inspect, wait for, and replay them to debug webhook integrations.6MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to create webhook URLs, wait for incoming deliveries, inspect payloads, and replay or send signed webhook events to a local handler.51 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.