Use with AI

MCP Server

otterkit mcp runs a Model Context Protocol server over stdio, exposing tunnels, webhooks, capture logs, await, and replay as native tools for AI agents. Claude Code, Cursor, and any MCP client can provision endpoints, wait for webhooks, and replay requests without shelling out to the CLI: same account, same credits, same otterkit login.

Setup

Claude Code:

bash
claude mcp add otterkit -- npx otterkit mcp

Cursor and other MCP clients: add to the client's MCP config (e.g. .cursor/mcp.json):

json
{
  "mcpServers": {
    "otterkit": {
      "command": "npx",
      "args": ["otterkit", "mcp"]
    }
  }
}

Log in once with npx otterkit login (or set OTTERKIT_TOKEN for headless machines); every MCP tool authenticates with the same saved credentials.

Tools

text
webhook_create    Provision an always-on webhook endpoint (server-answered; keeps capturing even if the daemon dies; optional verify: check each request's provider signature at arrival)
tunnel_create     Expose a local port on a public URL (optionally with capture + Basic auth)
sessions_list     List running tunnel/webhook daemons on this machine
session_stop      Stop a daemon (capture log is kept)
requests_list     Read captured requests, filtered by method/path/status
request_await     Block until a matching request arrives (the assertion primitive)
request_replay    Re-send a captured request to localhost, with JSON body edits
event_send        Fire a correctly-signed synthetic provider event (Stripe/GitHub/Shopify/Slack)
request_verify    Verify captured requests' provider signatures against a secret
webhook_forwarding  Manage forwarding rules (add/list/remove): every match delivered to a URL, signed, with retries - optionally reshaped by a transform template ({{data.object.id}} placeholders) or a sandboxed JS script. destination 'email' emails the owner; 'push' sends Web Push to their enabled devices
webhook_history   Server-side stored captures for a CLOUD endpoint, from any machine. CLI endpoints answer cli_session with local-log pointers (use requests_list/request_await on the owning machine)
schema_drift      Payload Drift Watch (cloud endpoints only): baseline payload shapes per event group, list findings (new/missing fields, type changes, new event types), accept/ignore/unignore
try_claim         Continue a webhook started on otterkit.com/try
account_status    Logged-in account + credit balance
The killer combo for agents: webhook_create → point a provider's webhook at the returned URL → request_await as the assertion that the event arrived → request_replay against localhost while iterating on the handler. End-to-end webhook development without leaving the agent loop.