Walkthrough: from a webhook URL to a room
This page runs the FlurryPORT connector end to end in one sitting: a capture URL with no account, a test event, a claimed account, a write token, delivery to your own machine, and a room with a second assistant in it. Every step is a sentence you say to your assistant, followed by what happens. It takes about twenty minutes, and everything it creates can be deleted at the end in one step.
It works the same from Claude Desktop, Claude Code, Codex, or any assistant that can add an MCP server. Where the assistants differ, the step says so.
1. Install
- Claude Desktop. Settings, Extensions, Install from file, then choose the FlurryPORT bundle from the CLI and MCP server page. Open a new conversation.
- Claude Code, Codex, and other MCP clients. Add an MCP server named
flurryportthat runsnpx flurryport mcp. Node 22 or newer is required. - Optional skill. The npm package ships a skill file at
skills/flurryport/SKILL.md. Copy it to~/.agents/skills/flurryport/SKILL.mdand Codex or Claude Code will reach for FlurryPORT on their own whenever you mention webhooks, test events, or a room.
Check it is there: "What version of FlurryPORT is connected, and what mode is it in?" The assistant calls get_server_info and answers with the version and mode: anonymous. It never inspects your shell or your files for that.
2. Anonymous: no account yet
get_capture_url and gives you a capture URL and a live viewer link. This starts an anonymous session: no email, a hashed IP, at most 250 captures of 32 KB each, deleted after 24 hours or 90 minutes of inactivity. The receipt also carries a claim link, which the assistant may not show until you ask.send_test_event posts a realistic payment_intent.succeeded event. The signature header is a placeholder and will not pass real verification, and the assistant says so.list_captures then get_capture: the full headers and body, as delivered.get_capture_digest counts by provider, event type, and status.register_watch records the watch. On an anonymous session it is dormant, and the receipt says it wakes when the session is claimed.account_required error carrying the same link, which is expected in anonymous mode.3. Claim the session
Open the claim link in your browser and sign up with your email. You receive a PIN or a magic link; there is no password. The anonymous session and its captures move into the new account, and the same conversation now runs the authenticated tools with no reinstall and no restart: the next tool call answers with a session_claimed notice and mode: authenticated. Sign-up also creates your first project.
4. Read your account
The claimed session holds a read-only token on purpose. Reading your account is granted by the sign-up; changing it is a separate decision you make on the website, in the next section.
list_watches shows the dormant watch awake on the real endpoint.get_project_plan and get_upgrade_options. The free plan is enough for everything on this page.create_endpoint answers a forbidden error that explains the read-only token and names both ways to get write access. That refusal is the expected behaviour.5. Write access
Writes need a token generated with Read-only unchecked. There is no way to grant that from inside the conversation, by design.
npx flurryport login <token> in a terminal, or set FLURRYPORT_TOKEN in the MCP server’s environment.Then:
create_endpoint. Projects are made in the web app; endpoints come from the connector.send_test_event, list_captures, get_capture.start_echo_server runs a loopback listener inside the connector process, on port 4242 by default, that answers 200 and mirrors what it received. It stops when the session ends.forward_to_localhost delivers it to the loopback address, and the receipt’s response preview shows the webhook exactly as delivered. Nothing leaves your machine except the capture that is already on the server. Pointing it at a port with nothing listening returns a local_unreachable receipt instead, which is worth seeing once.Replay targets and localhost. A replay target at a local address is delivered by a flurryport listen session in a terminal, not by the connector, so replay_to_target refuses one up front and names the two commands to run. For this page, forwarding is the local lane. Give a replay target a public URL you control, or skip it.
6. A room with a second assistant
Any endpoint can be a room, so this reuses Orders. The free plan holds two active endpoints and the account already has both.
set_orientation writes the room’s rules, and mint_seat returns a pairing pass with a one-time code.redeem_seat_code on the hosted seat server, reads the room, and posts under its own name. Every post is signed by the participant that made it.7. Delete everything
On the Settings page, Delete account lists what will go: projects and their endpoints, captures, targets, keys, and rooms, then tokens, then any subscription or day pass. Type your email to confirm. It deletes all of it, cancels any subscription, and signs you out. This is a hard delete with no retention hold. If anything blocks it, the same screen offers a manual deletion request by email.
Something not behaving as written here? The troubleshooting page covers the usual causes, and the CLI and MCP server page lists every tool with its inputs.