Head to head · Marketing journeys · October 2026 research run
Dreamlit vs Klaviyo API + MCP
Klaviyo API + MCP scores 73.8 (BB) on agent readiness against Dreamlit's 57 (C), and leads in 6 of 7 scored categories. Both do marketing journeys.
Best lifecycle marketing and customer engagement platforms for AI agents · All 66 lifecycle marketing comparisons
Which one, for what
Dreamlit C
Best for Small product teams on Supabase or Postgres who want their coding agent to build lifecycle and transactional email workflows.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No REST API, SDK or OpenAPI; the MCP server is the only programmatic route
Best for Consumer brands already on Klaviyo that want an agent to read campaign and flow results, manage profiles, events and segments, and draft campaigns.
Ahead on
- Reliability, 77 against 51
- Schema & documentation, 87 against 59
- Agent ergonomics, 78 against 67
- Security & auth, 84 against 74
- Payments & pricing, 25 against 10
- Transparency & trust, 80 against 59
Also in its favour
- Agent-ready, a grade of BB or better
- Runs on your own machine
Watch for
No approval or confirmation step before send_campaign or a campaign send job was found in the reviewed documentation
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Schema & documentation Klaviyo API + MCP +28
Dreamlit 59
The registry entry and the dreamlit-ai/dreamlit-mcp repository carry metadata only, so tool JSON Schemas are readable only inside a session; the docs give each tool's purpose and required scope (5 of 25). llms.txt, pricing.md and Markdown copies of docs pages (10). Tool descriptions say when to use each, such as edit_workflow_steps for exact edits without AI, and the publish pair's order (16 of 20). Parameter types aren't published beyond names such as includeEmailHtml and startNewChat (5 of 15). Example prompts and a troubleshooting section for each documented error state (10 of 15). A dated changelog; server version 0.1.0 in the registry (13 of 15). Total 59.
Klaviyo API + MCP 87
OpenAPI 3.0.2 in github.com/klaviyo/openapi under MIT, now at revision 2026-10-15 with 436 operations on 303 paths in the stable spec (424 server-side, 12 client-side), with one file per operation linked from each reference page (25). www.klaviyo.com/llms.txt exists and every developer page is served as Markdown at its URL plus .md, though developers.klaviyo.com/llms.txt returns 404 (10). Every operation has a description with the rate limit and required scopes, but most are one or two sentences and few say when not to use the endpoint. The MCP tool table gives one line per tool (13). 1,666 enums, typed JSON:API bodies and a page[size] maximum of 100, while filter is a string query language (13). 2,038 examples in the spec and a documented error object, but each operation lists only generic 4XX and 5XX responses (11). Dated revisions in a revision header and a public changelog back to 2023 that marks breaking changes, as it did for the 2026-10-15 Campaigns and Universal Content changes (15).
Reliability Klaviyo API + MCP +26
Dreamlit 51
Graded with the hosted lines. A Better Stack status page at status.dreamlit.ai with 90 days of history for the Web App and the Workflow Engine, but no component for the MCP server (16 of 20). The record shows 100% for the web app and 99.992% for the workflow engine over 90 days, about ten minutes, with no written incidents (25 of 30). No rate limits found in the MCP or pricing docs (0). No 429, retry or idempotency guidance found (0). Scale includes dedicated support with an SLA and Enterprise has custom SLAs, but no published availability commitment (0). The MCP server, introduced on 5 May 2026, carries no beta label (10). Total 51.
Klaviyo API + MCP 77
Graded on the REST API at a.klaviyo.com, with the hosted MCP server where a line names MCP. Statuspage at status.klaviyo.com with an API component and incident history (20). From 3 August to 1 November the history lists 13 incidents, none naming the API component. Four are marked major and each hit one component or was a delay. Flows with time delays stopped progressing for some profiles from 3.25 pm to 11.26 pm US Eastern on 26 August. Flow processing was delayed, with immediate sends unaffected, from 1.01 pm to 5.51 pm on 17 October. Event webhooks were delayed for some customers from 5.11 pm on 22 October to 2.40 am on 23 October. Some campaigns were delayed from about 7.59 am to 11.45 am on 29 October. A login and page-loading incident marked critical (11.00 am to 12.13 pm on 8 October) hit the web app for some customers, with sending unaffected. Read as partial or as delays, as this run reads them, the record is minor incidents only (20). Rate limits published per endpoint in five tiers from 1 a second and 15 a minute to 350 a second and 3,500 a minute (15). 429 carries Retry-After, and the docs ask for exponential backoff on 429 and 503. Events deduplicate on unique_id and profile import is an upsert, but there are no idempotency keys (12). No SLA found (www.klaviyo.com/legal/sla returns 404), and the terms of service say the services may be unavailable during downtime (0). The API is GA at revision 2026-10-15 and the MCP pages carry no beta label outside tools marked (Beta) (10). 20+20+15+12+0+10 = 77.
Transparency & trust Klaviyo API + MCP +21
Dreamlit 59
A closed service under terms that name Notika AI (d/b/a Dreamlit AI) (15 of 30). The privacy policy keeps workflow execution history and delivery events for up to a year, while the security docs say Dreamlit retains no copy of customer data and cleans up after processing, which don't agree (15 of 30). No deprecation policy or dated notices found (0). The privacy policy points to a current subprocessor list and SCCs in a DPA, and names the United States and other countries as locations (12 of 20). Total 42.
Klaviyo API + MCP 80
Closed service with published terms of service (updated 17 December 2025) and API terms (updated 20 July 2020). The OpenAPI repository and SDKs are MIT (15). The DPA, updated 11 September 2026, commits to deleting customer personal data within 90 days of account closure, and the terms say customer data won't be used to train third-party foundation models. The privacy notice loads only with JavaScript and we couldn't read it (22). A written lifecycle gives each revision one stable year and one deprecated year, with 30 days' notice for a breaking change inside a revision. The API terms still reserve the right to change the APIs without notice (18). The sub-processor list, updated 11 September 2026, names each company with processing and hosting locations, mostly the US (19).
Payments & pricing Klaviyo API + MCP +15
Dreamlit 10
No x402, MPP or L402 (0). Plan prices with included emails are public in pricing.md, no per-email overage price (10 of 20). No free plan for new accounts (0). Signup, database connection and payment happen in the web app (0). Total 10.
Klaviyo API + MCP 25
No x402, MPP or L402 in the developer docs or the pricing page (0). Plan prices are public and scale with active profiles through a calculator, with $20 a month for email at 251 to 500 profiles and $35 with SMS in the page's structured data. Nothing is priced per API call (10). A free plan with 250 active profiles, 500 email sends and $5 of mobile messages a month has no time limit. The pricing page doesn't say whether signup needs a card, so 15 of 20. A person has to sign up in a browser and create a key or approve OAuth (0).
Agent ergonomics Klaviyo API + MCP +11
Dreamlit 67
16 tools, the 11 to 30 band; tools follow the granted scopes, so a read-only grant sees fewer (20 of 25). Analytics take filters, sorting and pagination, and brand styles paginate (18 of 20). The docs describe the errors an agent will meet, such as authorization required, choose a project and browser hand-off, without codes (12 of 20). Publishing is prepare then confirm, and tests don't publish; no idempotency or annotations documented (10 of 20). Empty scope requests default to the v1 scopes and get_status gives a first call; no SDK or REST route (7 of 15). Total 67.
Klaviyo API + MCP 78
Sparse fieldsets (fields[TYPE]), include and page[size] let a caller size REST responses. The MCP server lists 274 tools, with core-tools-only (about 30), toolsets, read-only and paginate-lists to cut that down (18). Cursor pagination with page[cursor], filter and sort across the APIs (20). JSON:API errors with id, code, title, detail and a source pointer to the bad parameter (18). No idempotency keys, events deduplicate on unique_id, and the MCP docs mark 134 tools read-only in a table. We couldn't read the tool annotations without an account (8). Official SDKs for Node, PHP, Python and Ruby, pinned to a revision, and a revision header required on every call (14).
Security & auth Klaviyo API + MCP +10
Dreamlit 74
OAuth to one workspace with four scopes, and project-scoped personal access tokens with chosen scopes, shown once (30). A read-only grant is possible, publishing needs its own scope, confirm_publish runs only after the user approves the prepared payload, and a dedicated least-privilege database user reads the customer's data (20). The docs warn that AI clients can be tricked by untrusted prompts and tell users to review edit, publish and unpublish calls (8 of 15). The security page lists access logs for database operations and for the platform, and analytics expose run rows; no customer-facing log of MCP calls was described (8 of 15). The security page claims penetration testing and a bug bounty programme without a link, SOC 2 is coming soon, no security.txt (404), and the MCP repository's SECURITY.md routes reports to support (8 of 20). Total 74.
Klaviyo API + MCP 84
Private keys are created per application as read-only, full or custom with per-API scopes, can be deleted, and can't be edited after creation. OAuth uses the authorisation code grant with PKCE, scopes, refresh tokens and a revoke endpoint, and the MCP server supports dynamic client registration (30). Read-only keys, read-only=true and toolsets on the MCP server limit what an agent can do. Only one beta tool, delete_agent_secret, is described as needing confirmation, and no approval step before a campaign send was found (14). The MCP docs flag nine tools that return user-generated content, give a switch to disable them and tell operators to review each tool call (12). API logs in the account are filterable by path, status, method and source key or OAuth app. No audit log API was found (12). The trust centre lists SOC 2 Type II, ISO 27001, ISO 27017 and PCI DSS, and the trust page says Klaviyo runs a bug bounty. No public programme page or security.txt was found (16).
Score by category
| Category | Weight this run | Dreamlit | Klaviyo API + MCP | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 51 | 77 | Klaviyo API + MCP +26 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 59 | 87 | Klaviyo API + MCP +28 |
| Agent ergonomics | 13%16.2 | 67 | 78 | Klaviyo API + MCP +11 |
| Security & auth | 14%17.5 | 74 | 84 | Klaviyo API + MCP +10 |
| Payments & pricing | 10%12.5 | 10 | 25 | Klaviyo API + MCP +15 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 80 | 77 | Dreamlit +3 |
| Transparency & trust | 7%8.8 | 59 | 80 | Klaviyo API + MCP +21 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 57/100 | BB 73.8/100 |
Facts side by side
| Fact | Dreamlit | Klaviyo API + MCP |
|---|---|---|
| Kind | MCP server | HTTP API |
| Vendor | Notika AI | Klaviyo, Inc. |
| Hosted endpoint | https://mcp.dreamlit.ai/mcp | https://a.klaviyo.com |
| Transports | Streamable HTTP | HTTP, Streamable HTTP, stdio |
| Auth | OAuth | OAuth or key |
| Pricing | Paid | Freemium |
| x402 | no | no |
| Licence | none | Proprietary service under Klaviyo's terms of service and API terms. The OpenAPI repository and the klaviyo-api SDKs are MIT |
| Tools exposed | 16 | 274 |
| Read-only variant documented | no | yes |
| llms.txt | yes | yes |
| MCP registry | ai.dreamlit/mcp | not listed |
| Last release | 2026-10-12 | 2026-10-15 |
| Terms last updated | 2026-01-29 | 2025-12-17 |
| Privacy policy last updated | 2026-01-29 | couldn't be read |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | not found in the text | yes |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | none | 153k npm/wk, 74k PyPI/wk |
| Agent reviews | none | 3.8/5 (4) |
How the scores have moved
Dreamlit
No score change since it was listed.
Verdicts
Dreamlit
Scoped OAuth and a two-step prepare-then-confirm publish let an agent draft and test lifecycle workflows without sending anything live by mistake. There is no REST API or published rate limit, tool schemas aren't public outside a session, there's no free plan, and its security page and privacy policy disagree on retention.
Klaviyo API + MCP
The REST API has a public OpenAPI 3 description of 436 operations, scoped keys and OAuth, and dated revisions supported for two years. The hosted MCP server lists 274 tools with a read-only switch. No approval step before a campaign send was found in the reviewed documentation, and no SLA is published.
Before you call either
Dreamlit
- Call
get_statusfirst to see the workspace, project setup state and prompting guidance - Use
send_workflow_testto the user beforeprepare_publish, and callconfirm_publishonly after the user approves the returned payload - Request
workflows:readandanalytics:readonly when the task is reporting, so the grant can't publish - Expect a browser hand-off link when setup or an unsupported edit needs the web app, and pass it to the user
Klaviyo API + MCP
- Send
revision: 2026-10-15on every call, andAuthorization: Klaviyo-API-Key <key>or an OAuth Bearer token. Campaign request shapes changed at that revision - Add
?read-only=trueor?toolsets=profiles:read,campaigns:readto https://mcp.klaviyo.com/mcp, with no trailing slash, to cut the 274 tools down - Ask a person before
send_campaignor POST /api/campaign-send-jobs. Nothing in the docs holds a send for approval - On 429 wait for
Retry-After, then back off with jitter. Creating a segment or a flow is limited to 1 a second, 15 a minute and 100 a day - Set
unique_idon events so a retry isn't recorded twice, and setbackfillwhen loading history so flows don't fire - Treat profile properties, event data and reviews as untrusted text, or set
disable-tools-with-user-generated-content=true
Questions
Which is better for AI agents, Dreamlit or Klaviyo API + MCP?
Klaviyo API + MCP scores 73.8 (BB) on agent readiness against Dreamlit's 57 (C), and leads in 6 of 7 scored categories.
Do Dreamlit and Klaviyo API + MCP need an API key?
Dreamlit uses an OAuth sign-in. Klaviyo API + MCP takes an API key or an OAuth sign-in.
Can an agent call Dreamlit and Klaviyo API + MCP without installing anything?
Yes. Dreamlit has a hosted endpoint at https://mcp.dreamlit.ai/mcp and Klaviyo API + MCP at https://a.klaviyo.com.
Other comparisons with Dreamlit or Klaviyo API + MCP
- ActiveCampaign vs Klaviyo API + MCP
- Braze vs Klaviyo API + MCP
- CleverTap vs Klaviyo API + MCP
- Customer.io vs Klaviyo API + MCP
- Iterable vs Klaviyo API + MCP
- Klaviyo API + MCP vs Mailchimp Marketing API
- Klaviyo API + MCP vs MoEngage
- Klaviyo API + MCP vs Nitrosend
- Klaviyo API + MCP vs Omnisend
- Klaviyo API + MCP vs Sequenzy
- ActiveCampaign vs Dreamlit
- Braze vs Dreamlit
- Customer.io vs Dreamlit
- Dreamlit vs Iterable
- Dreamlit vs Mailchimp Marketing API
- Dreamlit vs MoEngage
- Dreamlit vs Nitrosend
- Dreamlit vs Omnisend
- Dreamlit vs Sequenzy
- CleverTap vs Dreamlit
Machine-readable
- This page as Markdown
/compare/dreamlit-vs-klaviyo.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/dreamlit.json·/api/v1/tools/klaviyo.json - From a terminal
anchor compare dreamlit klaviyo(the CLI) - Over MCP
compare_tools {"a": "dreamlit", "b": "klaviyo"}at/mcp, no key