FlurryPORT
Captures GitHub webhooks at a stable URL, lets you inspect them, and replays them into your app with original payload details.
Captures Shopify webhooks at a stable URL, lets you inspect them, and replays them into your app with original signatures and headers.
Captures Stripe webhooks at a stable URL, lets you inspect them, and replays them into your app with original signatures and headers for deterministic testing.
FlurryPORT CLI + MCP server
Webhook capture, inspection, and replay for you and your AI agent. Point any provider (Stripe, GitHub, Shopify) at a stable capture URL, inspect what arrived, and replay it into your app deterministically, signatures intact. No tunnels.
npx -y flurryport mcpYour agent gets a capture URL in one tool call, generates provider-shaped test events, watches them arrive, and replays them into your app. No signup to start: anonymous sessions give you 250 captures with no account, and you claim the session later if you want to keep it.
This repo is a read-only mirror of the FlurryPORT CLI source, published to npm as
flurryport. Development happens on a
private mainline; issues are welcome here.
Try it with no signup
If you use Claude Code, OpenAI Codex, Cursor, or another MCP-capable AI editor, you can capture and inspect webhooks in about a minute, no account required.
Claude Code:
claude mcp add flurryport -- npx -y flurryport mcpCodex CLI (or add the same server to ~/.codex/config.toml):
codex mcp add flurryport -- npx -y flurryport mcpCursor and VS Code install with one click (both write the server into your mcp.json after an approval prompt):
For any other MCP client, register a stdio server with command npx and arguments ["-y", "flurryport", "mcp"].
Reading this as an AI agent? Check your own runtime first: the commands above need a client that can launch a local stdio process. If you are a web or sandboxed client that cannot, do not walk your human through installing node or running them; a server started in a terminal is unreachable from your session. Tell them instead that FlurryPORT works from a desktop AI client that supports MCP over stdio (Claude Desktop, Cursor, a terminal agent, or similar), and everything will be waiting when they open one.
Related MCP server: pipepie
For AI agents (MCP)
This package is an MCP server. Terminal agents and desktop apps that can run a local process (Claude Code, Cursor, Codex, Claude Desktop) point at the npx command above. Web-only chat clients cannot reach a local MCP server.
The toolset covers the full loop: create endpoints, capture, inspect (with best-effort PII masking on redact-scoped credentials), transform (JSONata), replay to targets, and signed multi-agent rooms.
If you already have an account, mint a personal access token in Settings and log in first; the MCP server detects the stored token and starts in authenticated mode with the full toolset:
npm install -g flurryport
flurryport login fp_your_token_hereNo backend running yet? Ask your assistant to start an echo server: it spins up a local receiver, replays a captured webhook into it, and shows you the delivered headers and body, proving the whole loop before you write a line of handler code.
By default, forwarding only targets loopback addresses. Pass --allow-lan to the
mcp command if your dev server lives on another machine on your network.
Rooms: signed multi-agent collaboration
Beyond webhooks, FlurryPORT rooms give several agents and their people one signed record they all write to: task dispatch, code review, drafting with evidence-backed checking, durable team conventions. Every post is signed by its own participant key; who said what is a platform fact, not a claim inside the message. Seats can hold standing custody, so an agent's role outlives any one session. Browse the recipes: https://flurryport.io/recipes
Webhook forwarding without MCP
The classic flow: point a provider at your FlurryPORT capture URL, then stream captures to your local server.
npm install -g flurryport
# store your personal access token (create one in Settings on flurryport.io)
flurryport login fp_your_token_here
# register your local server as a replay target (interactive wizard)
flurryport target create
# attach and forward captures to localhost as they arrive
flurryport listenlisten forwards each capture with its original method, headers, and body, then
records your server's response back to FlurryPORT so results show up in the web
UI alongside server-side replays.
No backend yet? Spin up a local receiver that answers 200 and logs everything it gets:
flurryport echo 3000Seat a hosted agent (seat server)
Local agents join a shared endpoint with flurryport join. Hosted agents
(ChatGPT, claude.ai, Gemini, anything that cannot launch a local process) take a
seat through the seat server instead: a small streamable-HTTP MCP surface that
speaks only the room verbs.
# host: mint a single-use pairing code for a participant (dies in minutes)
flurryport seat bunny
# anywhere reachable by the hosted agent: run the seat surface
flurryport seat-server --port 8791Hand the pairing code to the person whose agent should sit down; they paste it
into their agent, the agent calls redeem_seat_code, and the seat is live. The
pairing code is the whole ceremony: no account, no email, no browser. After
redemption the session holds exactly four tools (redeem_seat_code,
list_captures, get_capture, post_intent), scoped to the one endpoint, every
post signed under the seat's own key and byline.
Custody rules, by construction: the seat's credentials are minted server-side and live only inside the seat server session, never in the agent's conversation. Seats expire when their invite says; the stream keeps every byline after the seat ends. The seat server binds to loopback by default; front it with TLS to reach hosted agents.
Commands
Command | What it does |
| Store a personal access token. Use |
| Accept a collaboration invite (monitor or producer) and store the credential. The acceptor must not be the endpoint owner. |
| Post an intent to an endpoint, HMAC-signed with your stored key (owner or contributor). Also takes |
| List stored accounts. Also |
| Attach to a localhost replay target and forward captures as they arrive. |
| Register a replay target. Interactive wizard, or pass the URL and |
| Local HTTP receiver that answers 200 and mirrors every request back. Pairs with |
| Run the FlurryPORT MCP server (stdio) for AI editors. Anonymous mode with no token, full toolset with one. |
| Mint a single-use seat pairing code for this endpoint. The human ferries it; the joining agent redeems it. |
| Run the hosted-agent seat surface (streamable HTTP MCP, room verbs only, pairing-code auth). |
| Show the active configuration. |
Run any command with --help for the full option list.
Team sharing
A project owner can mint a personal access token and hand it to a teammate:
flurryport login --name alice fp_token_from_owner
flurryport target create # point a target at YOUR localhost
flurryport listen # receive the owner's captures locallyTokens are scoped: reads, replays, and replay target management are allowed, while destructive operations on the owner's projects, endpoints, and captures are blocked. Tokens can also be created read-only, with sensitive payload fields redacted.
Safety posture
Signature validation on capture; unsigned posts to signed endpoints are rejected before storage.
Encrypted capture storage; secrets are vault references resolved server-side at delivery and never transit the agent conversation.
Best-effort PII masking on redact-scoped credentials (best effort, not a guarantee).
Anonymous sessions are plaintext, capped, and expire; the limits are stated in the tool responses.
Docs
CLI + MCP reference: https://flurryport.io/docs/cli
Recipe catalog: https://flurryport.io/recipes
Security model: https://flurryport.io/recipes/security
Requirements
Node.js 18 or later.
License
MIT
This server cannot be installed
Maintenance
Related MCP Connectors
Receive, inspect, replay and deliver webhooks — with signature verification and agent triggers.
A webhook inbox for agents: one call returns a live URL. Mock, verify, inspect and replay.
Instant no-signup webhook & HTTP-request inspector for testing webhooks and agent tool-callbacks.
Keyless webhook endpoints: capture, wait, replay, forward, and generate types from real traffic.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables generating webhook endpoints for testing, inspecting and comparing HTTP request payloads, replaying requests from history, and forwarding requests to localhost.2MIT
- AlicenseAqualityCmaintenanceSelf-hosted webhook relay and tunnel with Noise NK encryption. Inspect requests, replay webhooks, trace AI pipelines, connect/disconnect tunnels — 13 MCP tools. No tokens or passwords needed.138AGPL 3.0
- AlicenseAqualityDmaintenanceEnables AI agents to create disposable webhook URLs, capture incoming HTTP requests, inspect headers and bodies, and replay them against local or remote endpoints, streamlining the webhook handler development loop.515MIT
- FlicenseNot gradedqualityBmaintenanceWebhook management and debugging. Validate signatures, log events, replay, and analyze webhook traffic.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/flurryport/cli'
If you have feedback or need assistance with the MCP directory API, please join our Discord server