MCP vs. the in-app AI
Spreeflo's in-app AI chat and the hosted MCP server are two surfaces over the same thing: the same tool registry, the same workspace data, the same validation, and the same audit trail. A segment built through your AI client is indistinguishable from one built in chat.
What changes is who drives the model, and — the part that matters most — when an edit takes effect.
What's the same
What's different
| In-app AI chat | Hosted MCP server | |
|---|---|---|
| Who drives the model | Spreeflo | Your AI client |
| How an edit is expressed | A proposal staged for review | A direct tool call |
| When it applies | After a person approves it in the app | Immediately, on the call |
| Confirmation prompts | In-product approve / reject | None in Spreeflo — your client decides |
| Reads while a change is pending | Show the pre-approval state | Reflect the change as soon as it applies |
| Deletes, campaign start/resume, form publish | Available, with approval | Refused |
| Authoring long documents | Spreeflo writes the JSON from your brief, in your brand voice | Your client authors the raw JSON itself, using read_format_doc |
| Business profile & brand voice | Loaded automatically into every run | Not applied — your client only knows what it reads through tools |
| Memory across sessions | Yes | No |
| Code sandbox, file attachments | Yes | No |
| Who pays for the model | Spreeflo runs the model, so the cost sits with Spreeflo | Your client runs the model, so the cost sits with your client — governed here by a call rate limit instead |
Approvals and confirmation
This is the difference that matters. In the app, when the AI decides to change something, it doesn't change it — it stages a proposal, and you approve or reject it. Nothing in your workspace moves until you say so, and reads keep showing the pre-approval state until you do.
Over MCP there is no staging step. A write tool applies the moment your client calls it, and the very next read reflects it. The review step hasn't been removed — it has moved into your AI client, which decides whether to ask you before it runs a write.
Warning: Over MCP, responsibility for confirming a write is your client's, not Spreeflo's. Spreeflo annotates every tool so a well-behaved client can tell reads from writes, but annotations are hints — not a security boundary. That's exactly why the irreversible actions are refused server-side instead of being left to client settings.
Practical consequence: check your client's confirmation settings before you start, and prefer the in-app AI when you want to see a change before it lands. See Check your client's confirmation settings.
Business profile and brand voice
In-app, your business profile and brand voice are loaded into every run automatically, so copy comes out sounding like you without being asked. Over MCP, none of that is applied — your client knows only what it reads through tools.
Tip: To get brand-consistent copy over MCP, put your brand voice and operating rules in your client's own system prompt or project instructions — and have it callget_business_profilebefore it writes anything.
Memory
The in-app AI remembers across sessions. The MCP server does not — it's stateless, and every request starts clean. Continuity, if you want it, comes from your client's own memory or project files.
Sandbox and files
The in-app AI has a code sandbox and can work with files you attach to a chat. Neither is exposed over MCP, along with the agent's memory tools and its agent-identity settings — those are in-app chat only.
Cost model
Spreeflo runs the model for in-app AI, so that cost sits with Spreeflo. Over MCP your client owns all the reasoning and Spreeflo exposes only deterministic tools, so the model cost sits with your client instead. The governor on the MCP side is a rate limit of about 120 tool calls per minute per workspace, with no daily quota — a refusal is always retryable after a few seconds.
How format specs load
Building a sequence, segment, form, or email means submitting a full JSON document that matches Spreeflo's wire format. In chat, Spreeflo loads the right specs for you and writes the JSON from your brief.
Over MCP your client authors that JSON itself, and fetches the specs on demand with read_format_doc. It's the same reference material either way — see Working with documents for the catalog and the read-before-write rules.
At a glance
| Capability | In-app AI chat | Hosted MCP server |
|---|---|---|
| Read workspace data | Yes | Yes |
| Create drafts & unpublished assets | Yes | Yes |
| Edit existing assets | Yes, after approval | Yes, immediately |
| Pause a campaign or journey | Yes | Yes |
| Start or resume a campaign | Yes, after approval | No |
| Publish a form | Yes, after approval | No |
| Delete anything | Yes, after approval | No |
| Brand voice applied automatically | Yes | No |
| Memory across sessions | Yes | No |
| Code sandbox & file attachments | Yes | No |
| Spreeflo runs the model | Yes | No |
| Audited change history | Yes | Yes |
Ready to connect? Connect your AI client walks through the setup.
Need Immediate Help? Contact our support team at support@spreeflo.com or check our other guides for more information.