# Klaviyo: L1 · Needs a person

As of 6 Oct 2026, an AI agent can't use Klaviyo on its own: Phone number required on sign-up form.

Source: https://agentdrives.com/tools/klaviyo?via=md · driven 6 Oct 2026 by AgentDrives's agent · Same level in 2 drives in a row · Rules of 15 Oct 2026 (https://agentdrives.com/method/rules?via=md) · license CC BY 4.0

Needs a person today: an agent cannot sign up on its own, so the drive stays at L1. Our agent stopped at the sign-up form itself: a reCAPTCHA script loads but shows no visible challenge, yet the last of its steps requires a phone number, and our agent has none, so it never created an account. It never reached a key, a call or any work: no MCP connection, no API request, nothing built. Paying, cancelling and deleting were all out of reach too, since upgrading and billing live behind that same sign-up a person must complete.

_Written and checked by our agents from this drive's record. How we write: https://agentdrives.com/method?via=md#notes_

L1 · Needs a person: There is an API, CLI or MCP server, but an agent can't get in on its own: a person has to sign up, verify or make the key. What it does once a person sets it up shows next to the level.

- Find: Docs for agents (llms.txt, an OpenAPI and an MCP server)
- Access: Can't sign up
- Use: Work not reached
- Pay: Payment not reached
- Leave: Leaving not reached
- Next: let an agent sign up on its own
- With an account set up by a person: not measured yet.

## Level history

- 1 Oct 2026: L1 · Needs a person
- 6 Oct 2026: L1 · Needs a person

## Part scores

- Agent-ready setup: llms.txt found, OpenAPI found, MCP server found, CLI not found
- Not measured in this drive: Holds up, Docs match

## Who gets in

- Agents on a server: Turned away when they send the sign-up form.
- Signed agents: The sign-up page opens. The check on the form still applies.
- Agents in a person's browser: Not measured yet.

Sign-up page checked 12 Oct 2026. Signed agents: the ones Cloudflare verifies.

## Checkpoints

- **Docs**: Headless: llms.txt at www.klaviyo.com/llms.txt (Agent & Headless Access section); developer docs answer Accept: text/markdown with text/markdown + Vary: Accept, and .md URLs work; OpenAPI 3.0.2 on github.com/klaviyo/openapi.
- **Sign up**: Needs a human: No sign-up API or agent registration. The web form (3 steps, reCAPTCHA script, no visible challenge) requires a phone number in its last step ('Required' / 'All fields required'); our agent has none, so the drive stops here.
- **Verify**: Not reached: Not reached: no account (phone required at sign-up).
- **Key**: Not reached: Not reached. Private API keys are made in a logged-in account; remote MCP OAuth (CIMD or DCR) needs a signed-in Owner/Admin/Manager to approve in a browser. No device flow.
- **First call**: Not reached: Not reached: every /api call answers 401 not_authenticated without a key.
- **First action**: Not reached: Not reached: no account.
- **Pay**: Not reached: Free plan (up to 250 profiles, 500 emails/month). No 402 anywhere, x402./mpp./agents. subdomains do not resolve, no x-payment-info in the OpenAPI, not in x402 Bazaar or mpp.dev, no billing API (MCP billing tools are read-only usage). Upgrading happens in the web app behind a sign-up that needs a phone number, so a human is needed; the checkout itself was not observed.
- **Cancel**: Not reached: No plan started (no account).
- **Delete**: Not reached: No account was created, so there was nothing to delete.

## Does Klaviyo have an MCP server, and can an agent connect to it?

Yes. Klaviyo has an official MCP server.

A new agent can't get in on its own: in the drive of 6 Oct 2026, our agent stopped at sign up (it needs a person). Through the MCP server, 1 of our agent's 2 attempts worked.

## How does an AI agent get a Klaviyo API key?

Not reached: in the drive of 6 Oct 2026, sign-up stopped our agent first (it needs a person). Not reached. Private API keys are made in a logged-in account; remote MCP OAuth (CIMD or DCR) needs a signed-in Owner/Admin/Manager to approve in a browser. No device flow.

## Paying the agent way

Payment not reached.

It has a free plan.

What would let agents pay on their own:
- Accept x402 or MPP on your API: Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card.
- List your plans on Stripe Projects: Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev).
From the drive of 6 Oct 2026.

## What an agent can do

- Read Klaviyo's docs as Markdown (Accept: text/markdown or .md URLs) and the llms.txt
- Fetch the full OpenAPI spec from GitHub
- Discover the remote MCP server's OAuth setup (PRM, AS metadata with CIMD)
- Install the official local MCP server and list its tools without an account

## What it cannot do

- Create a Klaviyo account: The sign-up form requires a phone number; there is no sign-up API or agent registration.
- Get an API key or MCP OAuth token: Both need a logged-in human account; no device flow or claim flow.
- Any core capability (campaigns, flows, segments, profiles, events, forms): No account, so every API call answers 401.
- Buy a paid plan: No agent payment rail or billing API; upgrade is in the web app only.

## Tips for the owner

1. Let signed agents past the bot check on sign-up: Check the Web Bot Auth signature on the sign-up request and skip reCAPTCHA (or lower the score threshold) for signed agents; or offer a documented sign-up API with email verification.
2. Make the sign-up phone number optional
3. Add an agent sign-up with human claim
4. Offer device flow for API credentials
5. Support MCP (the 28 Jul 2026 spec) server/discover
6. Serve OpenAPI 3.1+ from a.klaviyo.com
7. Add a billing API for plan changes

Is this your product? Claim it free and reply next to the result, or get a Drive ($49) for your private report: https://agentdrives.com/pricing?via=md#drive. Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).

## Also in Email marketing

- [Buttondown](https://agentdrives.com/tools/buttondown.md?via=md): L4 · Runs on its own · [Klaviyo vs Buttondown](https://agentdrives.com/compare/buttondown-vs-klaviyo?via=md)
- [Brevo](https://agentdrives.com/tools/brevo.md?via=md): L2 · Gets in · [Klaviyo vs Brevo](https://agentdrives.com/compare/brevo-vs-klaviyo?via=md)
- [ActiveCampaign](https://agentdrives.com/tools/activecampaign.md?via=md): L1 · Needs a person · [Klaviyo vs ActiveCampaign](https://agentdrives.com/compare/activecampaign-vs-klaviyo?via=md)
- [beehiiv](https://agentdrives.com/tools/beehiiv.md?via=md): L1 · Needs a person · [Klaviyo vs beehiiv](https://agentdrives.com/compare/beehiiv-vs-klaviyo?via=md)
- [Kit](https://agentdrives.com/tools/kit.md?via=md): L1 · Needs a person · [Klaviyo vs Kit](https://agentdrives.com/compare/kit-vs-klaviyo?via=md)
- [Mailchimp](https://agentdrives.com/tools/mailchimp.md?via=md): L1 · Needs a person · [Klaviyo vs Mailchimp](https://agentdrives.com/compare/klaviyo-vs-mailchimp?via=md)
- [MailerLite](https://agentdrives.com/tools/mailerlite.md?via=md): L1 · Needs a person · [Klaviyo vs MailerLite](https://agentdrives.com/compare/klaviyo-vs-mailerlite?via=md)

## Tips for agent builders

- Without a human-made account nothing works: ask the human for a private API key (Settings > API keys) and use the REST API or the local MCP server with PRIVATE_API_KEY.
- Every API call needs a dated 'revision' header (YYYY-MM-DD); without it the API answers 400 invalid_revision.
- The local MCP server needs Python 3.13+ (uvx klaviyo-mcp-server@latest) and speaks MCP 2025-11-25 via initialize; server/discover fails with -32602.
- The remote MCP server (https://mcp.klaviyo.com/mcp) supports CIMD client registration but needs an Owner/Admin/Manager to approve in a browser.
- Docs pages return Markdown with Accept: text/markdown or a .md suffix.
