otterkit mcp runs a Model Context Protocol server over stdio. It gives AI agents tunnels, webhooks, email inboxes, pulses, capture history, await, and replay as native tools. Claude Code, Cursor, and any other MCP client can create endpoints, wait for webhooks, and replay requests without shelling out to the CLI. It uses the same account, credits, and otterkit login as the CLI.
Setup#
Claude Code:
claude mcp add otterkit -- npx otterkit mcpCursor and other MCP clients: add this to the client's MCP config, for example .cursor/mcp.json:
{
"mcpServers": {
"otterkit": {
"command": "npx",
"args": ["otterkit", "mcp"]
}
}
}Log in once with npx otterkit login, or set OTTERKIT_TOKEN on headless machines. Every tool authenticates with those saved credentials.
Tools#
The server exposes 18 tools.
| Tool | What it does |
|---|---|
webhook_create | Create an always-on webhook endpoint. Options: subdomain, ttl, respond, respondBody, email (adds an inbox), and verify (checks each request’s provider signature on arrival). |
tunnel_create | Expose a local port on a public URL as a background session, with optional capture and Basic auth. |
sessions_list | List the tunnel and webhook sessions running on this machine. |
session_stop | Stop a session. Its capture log stays on disk. |
requests_list | Read captured requests from a local log, filtered by method, path, or status. |
request_await | Block until a matching request arrives, then return it. Matches only new requests. |
request_replay | Re-send a captured request to a local target, with optional edits to the method, path, headers, or JSON body fields. |
event_send | Send a correctly signed synthetic Stripe, GitHub, Shopify, or Slack event to a local handler. |
request_verify | Check captured requests’ signatures against a secret, locally. |
webhook_forwarding | Add, list, or remove forwarding rules. Rules deliver to a URL (signed, with retries, optional transform template or script), email the owner, or send push notifications. |
webhook_history | Read requests stored on the server for a cloud endpoint or pulse, from any machine. |
history_replay | Re-deliver a server-stored capture to any URL, with optional edits. Cloud endpoints only. |
schema_drift | Payload Drift Watch on cloud endpoints: enable or disable it, list findings, and accept, ignore, or unignore them. |
webhook_domain | Attach, check, or remove a custom domain on a webhook endpoint you own. |
pulse_create | Create a pulse: a scheduled call to a URL, or a check-in URL that alerts when it goes quiet. |
pulse_update | Change a live pulse’s schedule, mode, URL, method, or body in place. |
try_claim | Continue a webhook started on the /try page, on the same URL. |
account_status | Show the logged-in account and credit balance. |