io.github.useotterkit/otterkit
Tunnels and webhooks for AI agents: capture, await, verify, replay, and send signed test events.
Open source Open in the app JSON README (API)
About
Tunnels and webhooks for AI agents: capture, await, verify, replay, and send signed test events.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- useotterkit
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.12.2
- Last push
- 2026-08-13T09:12:19Z
- Repository state
- ativo
- Added
- 2026-08-29 04:01:37
- Updated
- 2026-08-29 04:01:37
- Origin id
io.github.useotterkit/otterkit
README
# OtterKit Agent Skills Skills that teach AI coding agents (Claude Code, Cursor, Copilot — anything that reads the [Agent Skills](https://code.claude.com/docs/en/skills) format) to drive [OtterKit](https://www.otterkit.com): tunnels and serverless webhook endpoints with capture, signature verification, and replay. | Skill | What the agent learns | |---|---| | [`otterkit`](otterkit/SKILL.md) | Core: tunnels, webhook endpoints, capture, inspect, replay, daemons, pricing | | [`stripe-webhooks`](stripe-webhooks/SKILL.md) | Stripe: signed synthetic events, `Stripe-Signature` verification, re-signed replay | | [`github-webhooks`](github-webhooks/SKILL.md) | GitHub Apps: persistent capture endpoint, `X-Hub-Signature-256` verification, replay | | [`shopify-webhooks`](shopify-webhooks/SKILL.md) | Shopify: stable `--tunnel-url` for the CLI, HMAC verification, standby endpoints | | [`slack-webhooks`](slack-webhooks/SKILL.md) | Slack: Events API via capture tunnel, signing-secret verification, re-signed replay | ## Install (Claude Code) Copy any skill directory into `.claude/skills/` in your project (or `~/.claude/skills/` for all projects): ```bash git clone https://github.com/useotterkit/skill && cp -r skill/stripe-webhooks .claude/skills/ ``` Or add the OtterKit MCP server, which exposes the same capabilities as tools: ```bash claude mcp add otterkit -- npx otterkit mcp ``` ## What's different from a plain tunnel Every skill leans on three things ngrok-class tools don't do: - **`otterkit send`** — synthetic provider events signed with real signature headers (`stripe:payment_intent.succeeded`, `github:pull_request.opened`, …) against a local handler, free, no provider account interaction. - **`otterkit verify`** — check captured deliveries against a signing secret, per request, with the failure reason. - **`otterkit replay --resign`** — re-deliver a captured event to local code, re-signed with a current timestamp so timestamp-tolerant handlers (Stripe, Slack) still accept it. Skills are generated from the CLI's actual implementation and updated alongside it.