Connect an agent
Give Claude Code, Codex, Cursor, Claude, ChatGPT or any MCP client access to your canvases.
Agents reach Floo through one MCP server. Its address is shown in the Connect agent dialog on every canvas; the examples below write it as <mcp-url>. Clients sign in with OAuth: the first time one connects, a browser tab opens so you can approve it, and from then on it works as you.
The Connect agent dialog walks you through each client with the address already filled in, and turns green when the agent arrives.
Claude Code
Run once in any terminal; it registers the server for every project:
claude mcp add --transport http floo <mcp-url>
Then type /mcp in Claude Code, pick floo and choose Authenticate. Approve access in the browser tab that opens.
Codex
codex mcp add floo --url <mcp-url> codex mcp login floo
The Codex CLI and the ChatGPT desktop app's Codex tab both read this. Approve the connection in the browser tab that login opens.
Cursor
Use Add to Cursor in the Connect agent dialog: Cursor opens with the server filled in; click Install. Or add it to ~/.cursor/mcp.json:
{
"mcpServers": {
"floo": { "url": "<mcp-url>" }
}
}
Enable floo in Cursor's MCP settings and finish the browser sign-in.
Claude and ChatGPT
- Claude — Add to Claude in the dialog opens Claude with the connector filled in (or use Customize → Connectors → Add custom connector). Claude Desktop can also install the Floo extension from the dialog.
- ChatGPT — on the Plugins page, add a custom MCP server with the address, choose OAuth, and sign in to Floo when asked. Your workspace must allow custom servers.
Cloud clients need a public HTTPS address; a Floo running on localhost is only reachable from your own machine.
Other clients
Windsurf, Zed, Cline, VS Code and others read a JSON entry like this:
{
"mcpServers": {
"floo": { "type": "http", "url": "<mcp-url>" }
}
}
Headless agents
No browser to sign in with (n8n, CI, scripts)? Create a key in Settings → Agent keys and send it as a header:
Authorization: Bearer <your-agent-key>
A key is shown once and stored only as a hash. Make one per agent, named after where it runs, so you can revoke them separately; revoking stops that agent at once.
Point it at a canvas
Paste the starter message from the dialog as your first message — it names the canvas, and the agent fetches everything else from Floo:
Open cnv_8hQ2x and draft the order confirmation screen.
The name floo is only a label on your machine; any name works.