Use with AI

MCP Server

The built-in MCP server: 18 tools for tunnels, webhooks, email inboxes, pulses, capture history, await, and replay in Claude Code, Cursor, and any MCP client.

Docs for LLMs

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:

Terminal
claude mcp add otterkit -- npx otterkit mcp

Cursor and other MCP clients: add this to the client's MCP config, for example .cursor/mcp.json:

.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.

ToolWhat it does
webhook_createCreate 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_createExpose a local port on a public URL as a background session, with optional capture and Basic auth.
sessions_listList the tunnel and webhook sessions running on this machine.
session_stopStop a session. Its capture log stays on disk.
requests_listRead captured requests from a local log, filtered by method, path, or status.
request_awaitBlock until a matching request arrives, then return it. Matches only new requests.
request_replayRe-send a captured request to a local target, with optional edits to the method, path, headers, or JSON body fields.
event_sendSend a correctly signed synthetic Stripe, GitHub, Shopify, or Slack event to a local handler.
request_verifyCheck captured requests’ signatures against a secret, locally.
webhook_forwardingAdd, 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_historyRead requests stored on the server for a cloud endpoint or pulse, from any machine.
history_replayRe-deliver a server-stored capture to any URL, with optional edits. Cloud endpoints only.
schema_driftPayload Drift Watch on cloud endpoints: enable or disable it, list findings, and accept, ignore, or unignore them.
webhook_domainAttach, check, or remove a custom domain on a webhook endpoint you own.
pulse_createCreate a pulse: a scheduled call to a URL, or a check-in URL that alerts when it goes quiet.
pulse_updateChange a live pulse’s schedule, mode, URL, method, or body in place.
try_claimContinue a webhook started on the /try page, on the same URL.
account_statusShow the logged-in account and credit balance.