Skip to main content
Point your MCP client at webhook.co’s remote server and it gains 22 tools — inspect endpoints, replay events, and drive the triggers.* webhook-to-agent flow — without leaving your editor or chat.

Server URL

https://mcp.webhook.co/mcp — a remote, streamable-HTTP MCP server. Not stdio.
Two ways to authenticate, and every tool works the same under both:
  • whk_ bearer token — the simple path. Paste a personal API key, or send Authorization: Bearer whk_your_key_here. Works in any MCP client that supports a static token or header — desktop, headless, or CI. Mint a key, store it in an environment variable, and never hardcode it.
  • OAuth (the “connect” / “sign in” button). Clients with an interactive connector — Claude Desktop, Claude Code, Cursor’s cloud agent, VS Code, Zed — run a browser sign-in (authorization code + PKCE) against auth.webhook.co: you log in, approve a consent screen, and the client stores the tokens. No key to paste.
See how authorization works for the two methods side by side, a client × auth-method matrix, the consent screen, and the verified-app badge.
New here? Mint an API key and browse the full tool catalog — including triggers.wait, the webhook-to-agent trigger.

Supported clients

Jump to your client: Throughout, replace whk_your_key_here with your own key, and prefer the environment-variable form (WEBHOOK_API_KEY) over a literal.

Claude Code

Claude Code speaks streamable HTTP natively — no bridge needed.
1

Add the server

With a bearer token:
Or omit --header to use OAuth — you’ll authenticate on first use:
2

Choose a scope (optional)

Add -s local (default, this machine only), -s project (shared via a checked-in .mcp.json), or -s user (all your projects):
3

Sign in (OAuth only)

If you added the server without a header, authenticate:
You can also run /mcp inside Claude Code and follow the auth prompt.
4

Verify

Or run /mcp in a session — webhook should report connected.
For a project-shared config, commit a .mcp.json that reads the key from the environment:
.mcp.json
Set WEBHOOK_API_KEY in your shell so the literal key never lands in the repo.

Claude Desktop

Claude Desktop connects from Anthropic’s cloud, so the server must be publicly reachable — https://mcp.webhook.co/mcp is. The Connectors UI uses OAuth; for a header-based token you edit the config file and use the mcp-remote bridge.
1

Open Connectors

Settings → Connectors → Add custom connector.
2

Paste the server URL

Enter https://mcp.webhook.co/mcp and click Add.
3

Authenticate

Complete the OAuth sign-in when prompted (how many custom connectors you can add depends on your Claude plan).

Codex CLI

Codex CLI supports remote streamable-HTTP MCP servers via ~/.codex/config.toml. Remote-HTTP support is recent and version-sensitive — update Codex if the url key isn’t recognized.
1

Edit ~/.codex/config.toml

~/.codex/config.toml
Codex reads the token from the named environment variable — export WEBHOOK_API_KEY=whk_your_key_here in your shell.
2

Verify

webhook should appear with its tools.

Cursor

Cursor speaks streamable HTTP natively. Use ~/.cursor/mcp.json for all projects, or a project-scoped .cursor/mcp.json.
1

Add the server

~/.cursor/mcp.json
Set WEBHOOK_API_KEY in your environment. On Cursor desktop the bearer token is the supported path — it uses a private callback that OAuth can’t verify. Cursor’s web / cloud agent can instead use OAuth: omit headers and complete the sign-in Cursor offers on connect (it shows as a verified app). See how authorization works.
2

Or use the deeplink

An “Add to Cursor” link has the form:
where <base64-json> is the base64 encoding of {"url":"https://mcp.webhook.co/mcp"}.
3

Verify

Open Settings → MCP. webhook should show a green dot and list its tools.

VS Code (Copilot)

VS Code’s Copilot agent mode speaks streamable HTTP. The workspace config lives in .vscode/mcp.json, where the top-level key is servers (note: not mcpServers).
1

Add .vscode/mcp.json

This prompts for the key on first use and stores it securely, so nothing secret is written to the file:
.vscode/mcp.json
2

Or add from the CLI

3

Verify

Run MCP: List Servers from the Command Palette and start webhook. An install badge/deeplink uses the form https://vscode.dev/redirect/mcp/install?{url-encoded-json}.

Windsurf

Windsurf’s Cascade speaks streamable HTTP. Its config uses the serverUrl key (not url).
1

Edit the config

~/.codeium/windsurf/mcp_config.json
Set WEBHOOK_API_KEY in your environment.
2

Verify

In Cascade, open the MCP panel and click Refresh. webhook and its tools should appear.

Other clients

Any client that supports remote streamable HTTP can connect to https://mcp.webhook.co/mcp with an Authorization: Bearer whk_your_key_here header. Key names differ:
  • Cline — add a server with transport streamableHttp and the URL plus an Authorization header.
  • Goose — type streamable_http in ~/.config/goose/config.yaml, URL https://mcp.webhook.co/mcp, with the bearer header under the server’s headers.
  • Zed — add under context_servers in settings with the HTTP URL and header.
  • JetBrains AI AssistantSettings → Tools → MCP, add an HTTP server pointing at the URL with the Authorization header.
  • WarpSettings → Agents → MCP, add the URL with the bearer header.
  • Continue — transport streamable-http, URL https://mcp.webhook.co/mcp, key under requestOptions.headers.

The mcp-remote bridge

For any client that only speaks stdio, bridge to the remote server with mcp-remote:
Space-in-argument gotcha. Many stdio clients split each args entry on spaces, which mangles Authorization: Bearer …. Put the value in env and reference it with no space in the arg:
Omit --header entirely to have mcp-remote run the OAuth flow instead.

Verify the connection

Once connected, confirm the tools loaded — you should see the triggers.* and endpoints.* tools appear:
  • Claude Code / Codex — run /mcp (or claude mcp list / codex mcp list); webhook reports connected.
  • Cursor / Windsurf — open the MCP panel; look for a green dot and the tool list.
  • VS CodeMCP: List Servers → Start, then check the tools.
  • Claude Desktop — the connector shows as active; the tools are offered in a new chat.
A quick smoke test from any client: ask it to list your endpoints. If the endpoints.* tools resolve, auth and transport are both working.

Troubleshooting

Confirm the transport is http (streamable HTTP), not stdio, and that the URL is exactly https://mcp.webhook.co/mcp. Restart the client (Claude Desktop and some editors only load MCP servers at startup). Then re-run the verify step for your client — /mcp, List Servers, or the MCP panel — and check for an error next to webhook.
Your OAuth session or token expired, or the header is wrong. For OAuth clients, trigger a fresh sign-in (claude mcp login webhook, /mcp, or the client’s reconnect button). For token clients, verify the header is Authorization: Bearer whk_your_key_here and that WEBHOOK_API_KEY is actually exported in the environment the client sees. Mint a new key if in doubt.
mcp-remote caches tokens under ~/.mcp-auth. If auth is stuck in a bad state, clear it and reconnect:
The next connection re-runs the OAuth flow.
webhook.co serves streamable HTTP at https://mcp.webhook.co/mcp. If your client asks you to pick a remote transport, choose streamable HTTP (sometimes labeled “HTTP”), not the older SSE transport. Point it at the same /mcp URL.
Use the mcp-remote bridge — it presents the remote server to the client as a local stdio server. Remember the space-in-argument gotcha: pass the header value via env.
Some clients connect from the vendor’s cloud (Claude Desktop is one), so they can only reach a publicly reachable server. https://mcp.webhook.co/mcp is public, so it works — but a localhost or private-network MCP server will not connect from a cloud client. Local-only setups need a local client (Claude Code, Cursor, VS Code) or a public tunnel.
Some hosted chat clients only accept an OAuth connector whose callback we can’t verify, and expose no field for a bearer header — so neither auth path completes. Use a client with a header field or a native connect button: Claude, Cursor, VS Code, or Zed.