Connect AnyHook to your AI agent

Add one URL and sign in. Your agent can then set up webhook endpoints, find failed deliveries and replay them, and you approve what it may change.

https://anyhook.net/mcp

Add it to your app

Claude Code, claude.ai, Codex and VS Code open an AnyHook page in your browser: sign in and approve. Other apps use a key.

Claude Code

claude mcp add --scope user --transport http anyhook https://anyhook.net/mcp

Then type /mcp in Claude Code, pick anyhook and choose Authenticate.

claude.ai

Customize → Connectors → Add → Add custom connector. Paste the URL, then press Connect.

Codex

codex mcp add anyhook --url https://anyhook.net/mcp
codex mcp login anyhook

The second line opens the sign-in. Added it in the ChatGPT app's settings instead? Run only the second line. Codex asks for read and write in one approval.

VS Code

Command Palette → MCP: Add Server → HTTP. Paste the URL and approve the sign-in VS Code opens.

Cursor, Windsurf and other apps

These connect with an API key. Create one under Dashboard → Settings → API Keys, which shows this with your key already in it:

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

Cursor: Settings → MCP → Add new MCP server, or ~/.cursor/mcp.json. Windsurf: ~/.codeium/windsurf/mcp_config.json. Claude Desktop: Settings → Developer → Edit Config.

What it can do

Ask in plain words, for example:

  • “Create an AnyHook app for my Stripe webhooks and give me its URL.”
  • “Did any webhooks fail since yesterday? Replay them.”
  • “Why did the last Shopify webhook fail?”
AnyHook MCP tools
Set up
anyhook_apps_createCreate an app: the URL to give your provider, and where to forward · needs write access
anyhook_connectRegister the webhook at Stripe or GitHub from one key · needs write access
anyhook_apps_listList your apps and their inbound URLs
anyhook_inboxAn app's email address, so mail arrives as events
Watch
anyhook_eventsRecent events, by app or status
anyhook_inspectOne event: headers, body and every delivery attempt
anyhook_undeliveredWhat failed or is being held, for one app
anyhook_usageThe plan's limits and what you have used of each, with when they reset
Recover
anyhook_replaySend one stored event again · needs write access
anyhook_replay_failedSend every failed event for an app again, oldest first · needs write access
Run code
anyhook_code_deployCode that runs on every event an app receives, in a sandbox, no server needed · needs write access
anyhook_code_testRun that code now on a stored event and read its logs · needs write access
anyhook_code_getAn app's code, its secret names and runs used this month
Test
anyhook_mockA signed Stripe, GitHub or Slack request, sent to a URL you name if you want · needs write access
anyhook_verifyCheck a webhook signature
anyhook_providersSupported providers and their event types

What it may change

  • An app that signed in starts read-only. The first time it tries to change something, such as creating an app or replaying an event, it asks you to approve that too. Codex asks for both in its first approval.
  • AnyHook emails you when an app signs in and when one is given write access.
  • A key does what its scope allows: full access or read-only, chosen when you create it.
  • Settings → Connected apps lists every app you approved. Disconnect one and it is cut off at its next request.

No account yet?

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

With no key, the npm package runs in local mode: its anyhook_quickstart tool makes a free endpoint without an account, which expires in 7 days unless you claim it. It is not your existing account.

REST API with the same account: docs·For agents: llms.txt·Source on GitHub