Connect your AI client
This guide connects your AI client to Spreeflo's hosted MCP server. You add the server to your client, then sign in to Spreeflo and approve the connection — there's no key to create or paste.
Step 1: Add the server to your client
The server endpoint is:
https://mcp.spreeflo.com/mcpClaude, Cowork, and ChatGPT
In claude.ai, the Claude desktop app, or Claude Cowork, open Settings > Connectors and choose Add custom connector. Paste the endpoint above as the URL and connect. Leave any client ID and secret fields empty — Spreeflo registers the client for you.
In ChatGPT, turn on Developer mode under Settings > Connectors > Advanced, then add a custom connector with the endpoint above and OAuth as the authentication method.
Cursor and other mcp.json clients
Add a spreeflo entry to your client's MCP configuration file, then use the sign-in prompt your client shows next to it:
{
"mcpServers": {
"spreeflo": {
"url": "https://mcp.spreeflo.com/mcp"
}
}
}Claude Code
Run this in your terminal:
claude mcp add --transport http spreeflo https://mcp.spreeflo.com/mcp Then start Claude Code, run /mcp, pick spreeflo and choose Authenticate.
Step 2: Sign in and approve
Your client opens Spreeflo in your browser. Sign in the way you normally do — email and password, or Google — and you'll see an approval screen naming the app that's asking to connect:
Click Approve and your browser hands you back to the client. The approval screen is valid for 15 minutes — if it expires, start the connection again from your client.
Warning: Only approve a connection you started yourself, from an app you recognise. The approval screen shows which app is asking and where you'll be sent back to — if either looks wrong, click Cancel.
Step 3: Verify the connection
Ask your client to list the Spreeflo tools it can see, or try a simple read such as "list my Spreeflo audiences".
A working connection returns your actual workspace data — your audience names, your campaigns. If your client shows a tool list, you should see Spreeflo tools such as list_campaigns, get_segment_preview, and — if you ticked Make changes — create_email_template. If something goes wrong instead, see Troubleshooting below.
Headless agents and automation
Signing in needs a browser. For an agent that runs somewhere it can't open one — a server, a container, a scheduled job — use a Spreeflo API key instead. In the Spreeflo app, go to Settings > API keys, click Create API key, and name it after the agent. It's the same kind of key the Spreeflo REST API uses.
Send it in the Authorization header, and only there — a key placed in the server URL is rejected:
{
"mcpServers": {
"spreeflo": {
"url": "https://mcp.spreeflo.com/mcp",
"headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
}
}Warning: An API key can read and change its workspace — everything its owner's role allows. Give each agent its own key, load it from an environment variable or secret store rather than a committed file, and never put it in the server URL — URLs end up in logs, browser history and screenshots.
What the connection can reach
Check your client's confirmation settings
Before you start working, check how your client handles tools that modify data. Spreeflo annotates every tool so a well-behaved client can tell reads from writes, but Spreeflo will never prompt you — the decision to ask you before running a write belongs entirely to your client.
Warning: Writes apply immediately to your live workspace. There is no staging step, no pending list, and no approval queue on this surface. If you want to review changes before they land, use Spreeflo's in-app AI instead, or approve the connection without Make changes.
The riskiest actions are removed rather than left to your client's settings: deleting anything, starting or resuming a campaign or journey, sending or scheduling a broadcast, and publishing a form are not available over MCP — a person does them in the Spreeflo app.
Troubleshooting
| What you see | What it means | What to do |
|---|---|---|
| "This link has expired" | The approval screen was opened more than 15 minutes after the client asked, or the request was already approved or cancelled. | Start the connection again from your client. |
| "This app cannot connect" | Spreeflo refused the client's sign-in request before showing the approval screen. The page says why. | Check the server URL is exactly the endpoint above, then retry. If the message persists, send it to support. |
| No workspace to pick | The AI agent is switched off in every workspace you belong to. | Ask a workspace admin to turn the AI agent on in the team's AI settings. |
| Your client only has read tools | The connection is read-only: it was approved without Make changes, or your role in the workspace is Viewer. Read-only connections are offered no tools that change the workspace. | Reconnect Spreeflo in your client and tick Make changes on the approval screen. If you're a Viewer, ask a workspace admin to change your role first. |
| No sender or domain tools | Registering sending domains and adding or renaming sender addresses need the Admin role. | Ask a workspace admin to do it, or to change your role. |
| 401 Unauthorized | The sign-in expired or was revoked, or the API key is missing, malformed, or unknown; or the person behind it is no longer a member of the workspace; or the AI agent is switched off for the team. All of these return the same response on purpose. | Signed-in clients: reconnect Spreeflo from your client. API keys: check the key is copied in full and sent as Authorization: Bearer <key>, and that it hasn't been revoked. Either way, confirm you're still a member of the workspace and that the AI agent is enabled in the team's settings. |
| 410 Gone | The API key was put in the server URL (/mcp/<key>). Keys in URLs are no longer accepted. | Use the bare endpoint above and send the key in the Authorization header. Revoke the old key and create a new one, since it may have been logged. |
| 403 MCP is not enabled | The MCP server is switched off for this deployment. | Contact support. |
| 405 Method Not Allowed | Your client tried a GET or DELETE — usually because it's expecting an SSE stream or a session to tear down. The server is POST-only and stateless. | Configure the server as a Streamable HTTP endpoint, not a legacy SSE endpoint. |
| Rate limit error | The workspace passed roughly 120 tool calls in the last 60 seconds. | Wait a few seconds and retry. The window drains continuously — there's no daily quota to wait out. |
| Plan-gate error | The capability isn't on the workspace's plan, exactly as in the app. | The error says which feature isn't included. See About Spreeflo pricing plans for what each plan includes. |
| Validation error | The document your client submitted doesn't match the expected format. | Have the client read the relevant format spec with read_format_doc and retry — see Working with documents. |
Disconnecting an AI app
You can disconnect a signed-in AI app from either side:
To cut off every connection a person made at once, remove them from the workspace, or switch the AI agent off in the team's settings.
For a headless agent, revoke its API key in Settings > API keys. Once revoked, a key can't be reactivated — create a new one and update the agent's configuration.
Need Immediate Help? Contact our support team at support@spreeflo.com or check our other guides for more information.