Marketing analytics & reporting

Klaviyo MCP: connect Klaviyo to Claude and trust the answers

A Klaviyo MCP server is a connector that lets AI tools like Claude read your Klaviyo data, and act on some of it, in plain language. 

Connecting one takes about five minutes, but getting accurate answers back from Claude is the harder piece of the puzzle.

This article covers what the official Klaviyo MCP server does, the three types of setup and what each is good for, two ways to connect Klaviyo to Claude, and a prompt library for querying email alongside everything else you run.

Whatagraph marketing reporting tool
Yamon

Aug 10 202612 min read

Share at:
LinkedIn IconFacebook IconX Icon
Summarize with:
ChatGPT IconPerplexity IconGoogle IconClaude Icon
Whatagraph marketing reporting tool

Ask Claude what your email campaigns made last month and you'll have an answer in about four seconds. Cleanly formatted, confident, specific to the dollar.

Then you open Klaviyo dashboard and the number is different, like this marketer on r/klaviyo (and all the others underneath the post):

klaviyo-mcp-reddit-numbers-are-all-off.pngThat’s not a Claude problem; it’s just reading your account directly.

What you need is not just a connector for Klaivyo to Claude, but a governed semantic layer which sits between Shopify, Klaviyo, and all other channels you use to ensure data accuracy.

With a layer like that you can set your attribution window, unify names and dimensions, create custom metrics, blend data, e.t.c. making sure that Claude is always pulling from your cleaned and defined data, rather than making things up on the fly.

This article covers not only how you can connect Klaviyo to Claude, but also how to do it with a semantic layer so you can get back accurate answers, every time.

TL;DR

  • A Klaviyo MCP server is a connector that lets Claude and other AI tools query your Klaviyo data, and create some things in it, in plain language.
  • Klaviyo ships an official one. It's free, it's good, and it's the right choice for campaign drafting, template work, and auditing a single account.
  • There are five common reasons its numbers come back different from your Klaviyo dashboard, and none of them throw an error.
  • It also connects to one Klaviyo account at a time, and it can only see Klaviyo.
  • If you need email numbers that hold still, or you need them next to Google Ads, Meta, GA4 and Shopify, connect Klaviyo through Whatagraph's MCP instead. Full walkthrough and prompt library below.

What is the Klaviyo MCP server?

The Klaviyo MCP server is a connector that gives an AI client like Claude, ChatGPT or Cursor direct access to your Klaviyo account. You ask a question in plain language and it queries Klaviyo's APIs on your behalf: campaign data, flow performance, segments, profiles, customer data, whatever you'd normally go clicking through reports to find.

MCP stands for Model Context Protocol. It's the open standard Anthropic published in late 2024 that lets LLMs talk to outside systems without someone building a custom integration for every pair. We covered the wider picture in our guide to MCP for marketing.

Arturas Lazejevas, Whatagraph's CTPO, puts it in plain terms:

Think of MCP as a door that LLMs like Claude or ChatGPT can use to access any of your systems that you connect (through the MCP).

However, Klaviyo MCP isn't the same thing as Klaviyo AI, the AI built into the Klaviyo platform. The MCP is about getting your Klaviyo data out, into whichever AI tool your team already works in.

Three types of Klaviyo MCP setups

Not every MCP connection is built the same though. To avoid data discrepancies, before you pick one, ask a few questions:

  • Is it reading Klaviyo's raw API output, or a modeled version of your data?
  • Can it answer a question that spans Klaviyo and your ad platforms at once?
  • Who decides what counts as revenue, you or the model?
  • Do you get the same number on Monday that you got on Friday?

The answers depend entirely on which setup you're running. There are three in the market right now.

Single platform MCPStitched connector MCPsMCP over a governed semantic layer (Whatagraph)
What it isKlaviyo's official MCP server, or a community server from GitHubKlaviyo's MCP plus a Shopify MCP plus a Meta MCP plus a GA4 MCP, side by side, nothing shared between themA protocol over a unified data model. Klaviyo becomes a governed source sitting next to your other channels
What it readsKlaviyo's APIs, raw or attributed depending what gets asked forEach platform's raw API outputModeled data: metrics defined, attribution set, currencies converted, naming normalized before anything queries it
Who decides what "revenue" meansThe model, per questionThe model, per question, per platformYou, once
Cross-channel answerNot its job. Klaviyo only, by definitionClaude stitches it together at query time, and the math driftsPre-blended in the data model
Same question, same answerOnly if you ask precisely, every timeNo. Depends on the promptYes. Metrics are defined once
Multiple accountsOne connection, one Klaviyo accountOne connector per platform, per accountEvery account in one layer, scoped by client

Remember the data discrepancies issue you saw in the intro? With a MCP over a governed data layer, these issues would be gone. As Arturas explains:

Whatagraph doesn't query separate connectors like Facebook, Google Analytics, and Google Ads on the fly and have Claude reason about it. We unify all of that data as it comes in. The MCP is just the query layer on top.

How to connect Klaviyo to Claude: 2 options

There are two routes here, and they're not competing. Most retention teams should end up running both.

Option 1 is Klaviyo's official MCP server, which is free and genuinely well built (with a few caveats).

Option 2 is connecting Klaviyo through Whatagraph, which is what you want if you want to see accurate, cross-channel data.

Option 1: connect Klaviyo to Claude with the official MCP server

Setup differs slightly by client, but it's the same server URL behind all of them. For a single Klaviyo account, this takes about two minutes.

In Claude, go to Settings, then Connectors, then Browse connectors. Klaviyo is listed. Click Connect, sign in, approve the permissions, and it binds to whichever Klaviyo account you're logged into.

For multiple accounts or custom settings, add it as a custom connector instead, pointing at https://mcp.klaviyo.com/mcp. That needs a paid Claude plan.

In ChatGPT, Klaviyo is a listed app. You can also add it as a custom MCP server in developer mode.

In Cursor, VS Code or Claude Code, drop the same URL into the MCP client config. For Claude Code it's one line: claude mcp add --transport http klaviyo https://mcp.klaviyo.com/mcp.

If you'd rather run it yourself, there's a local server you install with uvx and point at a Klaviyo private API key. That's the developer route, and it means managing a KLAVIYO_API_KEY in a config file.

Two things catch people out. You need an Owner, Admin or Manager role in Klaviyo, so a Member or Analyst seat won't authorize it. And the connection binds to the account you were signed into when you approved it, which matters more than it sounds like it should.

A few query parameters can be appended to the server URL, and they're useful to know about:

  • read-only=true strips out every write tool
  • disable-tools-with-user-generated-content=true blocks the tools that return customer-written text
  • core-tools-only=true limits the server to the core set, which helps when the model gets overwhelmed by choice
  • toolsets= narrows it to specific groups of tools

What it's good at

Quite a lot, and let's be specific about it, because the limitations below aren't a reason to skip it.

Drafting a campaign from a brief and assigning a template to it. Building, cloning and updating email templates. Creating and updating profiles, subscribing someone to a list.

Auditing an account: which flows are live, which segments have gone stale, what a campaign's open and click rates looked like. Pulling flow performance without clicking into six reports.

If your job is inside Klaviyo, this is the right tool and Whatagraph doesn't replace it.

Where it runs out of road is everywhere else. Three limitations matter before you build a workflow on it.

Limitation 1: the numbers often don't match your Klaviyo dashboard

Remember the Reddit thread from the intro? I read through the replies, and here are two key reasons why the numbers on Claude and your Klaviyo dashboard might not match:

1. Claude pulled raw order events instead of the attributed revenue Klaviyo had already calculated

klaviyo-mcp-raw-order-events-vs-reporting-api.png

2. The attribution window it assumed didn't match the account's Klaviyo settings

klaviyo-mcp-5-day-attribution-window.png

This is why it's important to have a governed data layer that cleans and normalizes your Klaviyo data rather than pulling data from a raw API directly.

Limitation 2: one connection, one Klaviyo account

The OAuth connection binds to a single account. If you manage retention for twelve brands, Klaviyo's own agency guidance is to create a separately named custom connector for each client, keep a separate Claude project per client, and turn on only the relevant connector before each new chat.

That works. It's also twelve connectors, twelve projects and a manual toggle you have to remember, and it means "which of my clients had the worst unsubscribe rate last month" isn't a question you can ask at all.

Limitation 3: it can only see Klaviyo

A Klaviyo MCP server reads Klaviyo. That's the whole design.

The trouble is that email doesn't perform in isolation, and the questions that decide budget almost never stop at the inbox. Whether the abandoned cart flow closed the sale or the retargeting ad did. What email contributed to blended MER. Whether your list is growing because of paid acquisition or in spite of it.

The obvious move is to run Klaviyo's MCP next to a Shopify MCP, a Meta Ads MCP and a GA4 MCP, and let Claude put the pieces together. That's the stitched setup from the table above, and it works until it doesn't. Every platform hands over its own raw numbers with its own definitions, its own attribution windows and its own currency, and the reconciliation lands on the model.

Laurynas Arminas, Whatagraph's Product Manager, has watched several marketing teams go down this path:

It's easy to get something 80% done and think you're there. But then you realize how hard that remaining 20% is. Once you're working with seven different channels, seven different places pulling data from MCPs, things start getting confusing. Every time you add a client or a channel, you need to update everything, and things slip through the cracks.

The 80% arrives in an afternoon. The last 20% is metric definitions, attribution rules, currency conversion and naming that means the same thing across accounts, and none of that gets easier by adding another MCP server.

Option 2: connect Klaviyo to Claude through Whatagraph's MCP

This is the same idea from a different starting point. Instead of Claude reaching into Klaviyo and working out what it's looking at, Klaviyo becomes one governed source in a data layer you've already defined, and Claude queries that.

It answers the three limitations above in order.

The discrepancies stop happening. Your conversion metric is a custom metric you defined once, with your business logic inside it. Your dimensions are cleaned up so campaign and flow naming means the same thing across every account you run.

By the time Claude asks for last month's campaign revenue, there's nothing left for it to decide. It reads the number you already defined, which is the same number in your report, which is the same number your colleague gets when they ask on Friday.

Custom metrics cover what Klaviyo doesn't. You're not limited to the metrics Klaviyo reports natively. If the number your business actually runs on is email revenue per send, or contribution after fees and shipping, or repeat purchase rate by flow, you build it once as a custom metric and it works everywhere: in your reports, and in every answer Claude gives you from then on.

This also fixes something Klaviyo's MCP structurally can't. Klaviyo metrics are account-specific events, so one client's account calls it Placed Order and another's calls it something else entirely. A single-account connector has no way to reconcile that, because it never sees two accounts at once. Custom dimensions normalize it once, in the layer.

Every account sits in one place. Client accounts are organized into Spaces rather than separate connectors you toggle per chat. "Which of my clients had the worst unsubscribe rate last month" becomes a question with an answer.

Klaviyo sits next to everything else. Google Ads, Meta Ads, GA4, Google Search Console, Shopify, all mapped to the same metrics and dimensions. Cross-channel MER, blended ROAS, email's share of total revenue, the flow-versus-retargeting question, all answerable in one conversation rather than four.

Claude can build the layer, not just read it. Whatagraph's MCP writes as well as reads. You can ask Claude to create a custom metric with your formula in it, build a custom dimension that normalizes naming across clients, tag sources, set a goal, convert currencies, or build a widget, a tab or a whole report.

Sit with that difference for a second. Writing into Klaviyo changes a campaign. Writing into the governed layer changes what every future answer is built on, for everyone on your team.

And soon, work that happens without you asking. IQ Agents are Whatagraph's AI agents, currently in early access. Where the MCP waits for you to ask a question, agents work in the background: watching for anomalies across your channels, surfacing what changed and why, and drafting the analysis before you've opened the tab.

Request early access to IQ Agents.

Which option fits which job

If you want to...Use
Draft a campaign, build or clone a template, update profilesKlaviyo's official MCP
Audit one account's flows and segmentsKlaviyo's official MCP
Get a Klaviyo revenue number that matches your dashboard every timeWhatagraph MCP
Report on a metric Klaviyo doesn't calculate nativelyWhatagraph MCP
Ask what email contributed to blended revenueWhatagraph MCP
Compare twenty Klaviyo accounts in a single questionWhatagraph MCP
Have the layer maintained without prompting for itWhatagraph IQ Agents (early access)

7 steps to connect Klaviyo to Claude with Whatagraph MCP

The connection itself is steps 4 to 6 and takes about two minutes. Step 3 is the one that decides whether the answers are any good.

Step 1: Connect Klaviyo as a source in Whatagraph

In Whatagraph, go to Connect new source, search for Klaviyo, and authenticate with a Klaviyo private API key, which you generate in your Klaviyo account settings.

klaviyo-connect-source-whatagraph.png

Historical data gets backfilled on connection, and Whatagraph Storage keeps it. As Arturas puts it:

We also provide Whatagraph storage to make sure the data is backfilled, to make sure the data is always ready, to make sure it's stored and ready for your extensive analysis.

Step 2: Set up your governed data layer

This is the semantic layer part that makes sure your data is cleaned and structured so Claude will give you accurate answers. Arturas recommends:

My suggestion would be to really embed your business logic into Whatagraph (or any tool you’re using) first, so that Claude doesn't need to reason about it. It doesn't need to figure that stuff out every time.

What to set up before you start querying:

Normalize your naming with custom dimensions. Klaviyo metrics are account-specific events, so what one client's account calls Placed Order another calls something else. Campaign naming drifts worse, and inherited accounts are the usual reason.

We've heard this described exactly by an agency running a portfolio: their own UTM convention is consistent, but accounts they took over from other agencies use different ones, so the same channel arrives as both "Facebook Paid" and "Facebook CPA" and splits into two rows that won't join to spend. A custom dimension maps them to a single value.

You describe the mapping in plain language and Whatagraph builds it. For example, I normalized campaign names from Shopify and Klaviyo with just one prompt with Whatagraph IQ. Once that’s done, Claude and all your reports and dashboards will show the normalized name you specified for all similar campaigns.

klaviyo-custom-dimension-standardize-campaign-names.png

Blend the sources that need to sit in one table. Klaviyo and Shopify don't share a report type, so a blend merges them into one virtual source on a shared join key.

For example, I built a blend joining our Klaviyo campaigns report to our Shopify sales report on date, with Revenue (Placed Order) on one side and Net sales on the other:

klaviyo-shopify-data-blend.png

Define any metric as a custom metric. Decide what counts as revenue or conversions for your business, build a custom metric once, and use it across all your reports and AI tools. This is also where you cover anything Klaviyo doesn't calculate natively: revenue per send, contribution after fees and shipping, email's share of blended revenue.

Check currency settings. Whatagraph detects each source's original currency automatically. But you can also set custom currency at the source level so you don’t have to do it manually each time.

Set currency - Klaviyo MCP.png

Organize by Space and tag your sources. One Space per client keeps access scoped and makes "compare all my ecommerce clients" a question with an answer.

Assign tags - Klaviyo MCP.png

Step 3: Add the Whatagraph MCP connector in Claude

In Claude, go to Settings, then Connectors, then Add custom connector. Name it Whatagraph and use https://mcp.whatagraph.com/mcp as the remote MCP server URL.

Step 2 of how to connect LinkedIn to Claude - Klaviyo MCP.png

Step 4: Authorize the connection

Click Connect, sign in, and pick the team you want Claude to reach. No API keys, no config file, no private key sitting in plain text.

Step 3 of how to connect LinkedIn to Claude - Klaviyo MCP.png

Step 5: Set your permissions, carefully

You'll see a list of tool permissions. For read tools, switching them to "Always allow" saves you approving every single data pull, which gets old fast.

Step 4 of how to connect LinkedIn to Claude - Klaviyo MCP.png

For write and delete, slow down. Arturas again:

I wouldn't right away click always allow for the write functions. You can always leave it as ask for approval, until you're absolutely confident that you can trust it, and you're confident that it actually does the work it's supposed to do for your organization and for your specific context.

His recommendation: leave write tools on approval, and keep the delete tools blocked entirely until you actually need to clean something up.

Step 6: Test it

Ask Claude what it can see: "What do you have access to in my Whatagraph account?" You should get your connected sources, Spaces and account details back.

Step 5 of how to connect LinkedIn to Claude - Klaviyo MCP.png

Then run the test that actually matters for this article. Ask for last month's Klaviyo campaign revenue and check it against your Klaviyo dashboard. If your layer is set up properly, those two numbers are the same number.

Step 7: Add your own context with Claude skills

Whatagraph's MCP ships with its own skills, loaded on demand, that you can use to analyze your Klaviyo data and cross-channel performance.

Once you type in a prompt on Claude, Whatagraph MCP will automatically pull up the relevant skill on the backend to answer your query in the most accurate way possible.

whatagraph-mcp-bundled-skills.png

That said, Arturas still recommends creating your own skills on top of Whatagraph's with your own business logic.

I especially recommend starting a chat with Claude, getting to the result you want to get, and then say, now Skill Creator, create a skill so we can embody this for the future chats. These are the conversions I care about, this is the source group you need to query, these are the filters for the campaigns that matter.

Klaviyo MCP prompt library by use case

Every prompt below assumes Klaviyo is connected through Whatagraph, with your metrics and attribution already defined. Natural language prompts are the point of an MCP, but vague ones get vague answers, so these name the metric, the date range and the breakdown.

The first group stays inside Klaviyo. The second is where it gets interesting.

Single-channel: Klaviyo on its own

Campaign and flow performance

"Show me every campaign sent in the last 30 days with open rate, click rate and revenue. Sort by revenue, highest first."

"Compare my welcome flow and abandoned cart flow over the last quarter. Revenue, conversion rate and revenue per recipient."

"Which of my active flows haven't triggered in the last 14 days?"

"Show me campaign revenue for the last 90 days, broken down by week and campaign type."

"Which flows have declining revenue month over month for the last three months? Show me the trend, not just the totals."

"What's my revenue per send this month versus the same month last year?"

List health, deliverability and growth

"What's my unsubscribe rate by campaign over the last 60 days? Flag anything above 0.5%."

"Show me bounced and dropped email counts for the last month, broken down by campaign."

"Which segments have the highest engagement in the last 90 days, and which have gone quiet?"

"How has my list grown over the last six months? Show net growth after unsubscribes."

"Compare SMS consent rate and SMS click performance against email for the same period."

Across client accounts

Still Klaviyo data, just more than one account at a time. These are the ones a single-account connection can't do at all.

"Rank all of my clients by email revenue growth this quarter versus last."

"Which client had the worst unsubscribe rate last month, and what campaigns drove it?"

"Show me every client where email revenue dropped more than 20% month over month, with the campaigns and flows behind the drop."

"Across all accounts, which flow type generates the most revenue per recipient?"

"Which clients haven't sent a campaign in the last three weeks?"

Cross-channel: Klaviyo next to everything else

Email next to paid

"What was our blended MER last month? Break it down by channel and show me email's share of total revenue."

"Compare Google Ads spend, Meta Ads spend and email revenue for the last six months. Where did the ratio shift?"

"Show me total revenue by channel for Q3 with email, paid search, paid social and organic side by side. Flag anything that moved more than 15% versus Q2."

"Our paid social spend went up 40% in July. Did email revenue move with it, or independently?"

"Which channel is bringing in the customers who go on to open our emails? Compare list growth against acquisition source."

Ecommerce: Klaviyo, Shopify and GA4

"Pull Shopify orders, GA4 sessions and Klaviyo email revenue for last month. Show me conversion rate, average order value and email's contribution to each."

"How many of last month's repeat purchases came from customers who clicked an email in the 30 days before?"

"Show me new versus returning customer revenue for the last 90 days, and which marketing automation flows touched each group."

"Our conversion rate dropped last week. Walk me through it: sessions, add-to-carts, orders, average order value, and what changed in each channel."

"Which product categories does email sell best, and how does that compare to what paid search sells?"

Reconciliation and troubleshooting

"Klaviyo revenue and Shopify revenue disagree for last month. Break both down by day and show me where they diverge."

"Check the health of all my connected sources. Anything not syncing, anything with gaps in the last 30 days?"

"Total revenue this month doesn't match what I expected. Break it down by channel and show me which one moved."

Client reporting

"Write an executive summary of last month's performance for this client. Cover email, paid and organic, lead with what changed, and keep it under 200 words."

"What are the three things I should tell this client about their email program this month, and what's the evidence for each?"

"Build me a report tab comparing email and paid performance for the last six months, with a revenue trend chart and a channel breakdown table."

If you'd rather start from something pre-built, our Klaviyo dashboard template covers the standard email reporting view and you can point Claude at it from there.

Wrapping up

Connecting Klaviyo to Claude is the easy part. Klaviyo's official MCP server is free, it takes two minutes, and for work you do inside Klaviyo it's the right tool.

The harder part is getting an answer you can trust.

This means setting up a semantic data layer with your business logic in a marketing intelligence platform like Whatagraph.

That layer is also what powers your Klaviyo dashboards and marketing reports, so the number Claude gives you and the number your client sees come from the same place.

Start a free trial and connect Klaviyo alongside the rest of your stack, or book a demo and we'll show you what a governed layer looks like for your accounts.

Published on Aug 10 2026

Share at:
LinkedIn IconFacebook IconX Icon
Summarize with:
ChatGPT IconPerplexity IconGoogle IconClaude Icon
Whatagraph marketing reporting tool

WRITTEN BY

Yamon

Yamon is a Senior Content Marketing Manager at Whatagraph. With an eye for detail and a knack for always considering context, audience, and business goals to guide the narrative, she's on a mission to create genuinely helpful content for marketers. When she’s not working, she’s hiking, meditating, or practicing yoga.

Save 100+ hours a month on reporting with Whatagraph

Frequently Asked Questions

All your questions answered. And if you can’t find it here, chat to our friendly team.

What is the Klaviyo MCP server?

The Klaviyo MCP server is a connector that lets AI tools query and act on your Klaviyo account in plain language, without exports or custom code. It runs on the Model Context Protocol, the open standard Anthropic published in late 2024 so that AI clients and outside systems can talk to each other without a bespoke integration for every pair. Klaviyo's version is generally available to all customers and free to use.
 

How do I connect Klaviyo to Claude?

There are two routes, and which one you want depends on whether the question you're asking stops at Klaviyo.

 

Through Klaviyo's own MCP, for work inside Klaviyo: in Claude, go to Settings, then Connectors, then Browse connectors, find Klaviyo and click Connect. Sign in with an Owner, Admin or Manager account. The connection binds to whichever Klaviyo account you were signed into.

 

Through Whatagraph's MCP, for anything cross-channel or multi-client:

 

1. Connect Klaviyo as a source in Whatagraph using a Klaviyo private API key

 

2. Connect the channels around it, and define your metrics and attribution

 

3. In Claude, add a custom connector pointing at https://mcp.whatagraph.com/mcp

 

4. Authorize and pick your team. No API keys on the Claude side

 

The second option makes sure that the answers Claude gives you matches your Klaviyo dashboard.

Is the Klaviyo MCP server free?

Depends on what you mean by "free".

 

Technically the official Klaviyo MCP is free if you're already a Klaviyo customer, which means you still have to pay for Klaviyo.

 

Same goes for Whatagraph. Whatagraph's MCP for Klaviyo and other 65+ channels is free, if you're already a customer of Whatagraph. Check out our full pricing here. 

 

But with Whatagraph, you won't just have a MCP server, but also native connections with 65+ other platforms for cross-channel analysis, governed data layer, white-label reporting, and AI agents. 

Does the Klaviyo MCP work with ChatGPT, Cursor and Claude Code?

Yes. It works with any of the common MCP clients:

 

ChatGPT: Klaviyo ships a listed app, or you can add it as a custom MCP server in developer mode

 

Cursor and VS Code: add https://mcp.klaviyo.com/mcp to your MCP config

 

Claude Code: claude mcp add --transport http klaviyo https://mcp.klaviyo.com/mcp

 

Local: install the server with uvx and point it at a Klaviyo private API key

 

Whatagraph's MCP works with the same clients, since it's the same protocol. Add https://mcp.whatagraph.com/mcp as a custom connector or drop it into your MCP config.
 

Why don't the Klaviyo MCP's numbers match my Klaviyo dashboard?

This is the most common complaint from people who've connected it, and there isn't one cause. The usual five:

 

- The AI queried raw order events instead of the attributed revenue Klaviyo had already calculated


- It picked a different conversion metric than your dashboard uses


- The attribution window it assumed doesn't match your Klaviyo settings


- Revenue got grouped by purchase date rather than message send date


- Klaviyo's revenue fields landed in the wrong place in what the AI reported back
 

None of these throw an error. You get a clean, confident number that happens to be wrong, and the only signal is that it disagrees with your dashboard.
 

What's the difference between attributed revenue and raw Placed Order events?

Attributed revenue credits a purchase back to the campaign or flow that influenced it, within your attribution window. Raw Placed Order events just count orders that happened in a date range, with no link to what drove them.

 

That's why the two rarely match. A purchase made three days after a send counts toward that campaign in your dashboard, but shows up on the purchase date in the raw event data.
 

Can I report on a Klaviyo metric that Klaviyo doesn't calculate natively?

Yes, through Whatagraph's custom metrics. You build the formula once, save it, and it works everywhere: in your reports, and in every answer Claude gives from then on. Common ones teams build:

 

- Email revenue per send

 

- Contribution after fees, shipping and cost of goods

 

- Email's share of blended revenue

 

- Repeat purchase rate by flow

 

- Revenue per subscriber, by segment
 

When two people on my team ask Claude the same question, do they get the same number?

Not reliably with a direct API connection. The answer depends on how each person phrased the question, which metric the model chose, and which endpoint it hit.

 

With metrics defined once in a governed layer like Whatagraph, the definition doesn't change based on who's asking or how they worded it.
 

Can an agency use the Klaviyo MCP across multiple client accounts?

Only with a workaround, because one OAuth connection binds to one account. Klaviyo's own guidance is:

 

- Create a separately named custom connector for each client

 

- Keep a separate Claude project per client

 

- Enable only the relevant connector before each new chat

 

That works for one client at a time. What it can't do is answer a question that spans clients, like which account had the worst unsubscribe rate last month, and it means twelve clients is twelve connectors and a manual toggle you have to remember.

 

Through Whatagraph, it's simple as 1-2-3. You:

 

- connect all your sources for every Klaviyo client account plus 65 other marketing channels 

 

- organize these sources into folders by client

 

- clean and normalize your data

 

- connect to Claude through Whatagraph MCP and ask any questions you want about your Klaviyo and cross-channel data

Can Claude read Klaviyo alongside Shopify, Meta and GA4 in one answer?

Not through Klaviyo's MCP, which reads Klaviyo and nothing else. You can run several platform MCPs side by side and let the model stitch them together, but each one hands over its own raw numbers with its own definitions, attribution windows and currency, so the reconciliation falls to the model and the math drifts.

 

Connect them all through Whatagraph instead and the reconciliation has already happened before the question gets asked, because every source was mapped to the same metrics and dimensions on the way in.

Can Claude write to my Klaviyo account?

Yes. Whatagraph's MCP reads and writes, so Claude can build the reporting layer rather than only querying it:

 

- Create custom metrics with your own formulas

 

- Create custom dimensions to normalize naming across accounts

 

- Tag sources, set goals and convert currencies

 

- Build widgets, tabs and whole reports

 

The difference matters. Writing into Klaviyo changes a campaign. Writing into the governed layer changes what every future answer is built on, for everyone on the team.

What Klaviyo data can I query through Whatagraph?

Klaviyo comes in as three report types through the integration: account, campaigns and flows. Between them you get engagement data (sends, opens, clicks, bounces, unsubscribes), SMS consent and delivery, subscriber and list growth, and revenue, which appears on the campaigns report type as Revenue (Placed Order).

 

On top of that, anything you define as a custom metric or custom dimension is queryable too, which is how teams cover numbers Klaviyo doesn't calculate natively and how they normalize naming across client accounts.

Do I still need a reporting tool if I have the Klaviyo MCP?

If email is your only channel, you work in one account and nobody else sees the numbers, probably not.

 

If any of the following are true, you still need a reporting tool (ideally one with a governed data layer) where your definitions and reporting live:

 

- You report on more than one channel

 

- You manage more than one account or client

 

- Anyone besides you sees the output

 

- The same question needs the same answer next month

 

Does this work for SMS as well as email?

Yes. Klaviyo's SMS data comes through the same connection either way, so sends, clicks, consent and unsubscribes are all queryable.

 

Through Whatagraph you can also put SMS next to paid and organic in one question, which is where the comparison usually needs to end up.

Is my customer data safe with an MCP connection?

Whatagraph's MCP connection uses the same authentication and access controls as your Whatagraph account:

 

- Each user only accesses the accounts and data they're already authorized to see

 

- No data is stored by the AI application

 

- Queries are resolved in real time against your Whatagraph data

 

So connecting it doesn't widen anyone's access. Whatever a team member can see when they log in is exactly what they can reach through Claude.

 

Whatagraph is also GDPR compliant and ISO 27001 certified and there's SSO/SAML available. 

What's the difference between Klaviyo's official MCP server and the ones on GitHub?

They're not the same category of thing:

 

Official: hosted by Klaviyo, OAuth authentication, maintained alongside the API, your key never leaves Klaviyo

 

Community servers: usually run locally against a KLAVIYO_API_KEY in a plain-text config file, maintained by whoever built them

 

Third-party MCP platforms: route your credentials through their own infrastructure

 

For your own store, a community server might be fine. For a client's account, the official one exists and there's little reason to use anything else.