# Klaviyo MCP

Connects Klaviyo analytics to coding agents using 24 read-only tools. Useful for inspecting campaigns, automated flows, and customer profiles.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI
- Author: scalably-io
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/scalably-io/klaviyo-mcp
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/klaviyo-mcp

## What it does

The server surfaces Klaviyo data across single or multi-brand setups. It includes 24 read-only actions that query campaign performance, automation sequences, lists, signup forms, and subscriber profiles. You can pull aggregated metrics like placed orders, track A/B test splits, or inspect email templates directly in chat. Because no mutation tools exist, the assistant cannot alter subscribers or dispatch unwanted emails.

Multi-brand setups rely on dedicated environment variables formatted as `KLAVIYO_KEY_<name>`. The server scans for them during startup and lets you query specific stores using the lowercased name argument. Every result returns as structured JSON with execution details and status.

Keep in mind that Klaviyo enforces a strict rate limit of 2 reporting requests per minute per brand. Performance reporting only covers dates starting from 2023-06-01, and query ranges wider than a single calendar year get split automatically.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `KLAVIYO_KEY_MAIN`, `KLAVIYO_API_BASE`, `KLAVIYO_RETRY_BASE_MS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env KLAVIYO_KEY_MAIN=<KLAVIYO_KEY_MAIN> --env KLAVIYO_API_BASE=<KLAVIYO_API_BASE> --env KLAVIYO_RETRY_BASE_MS=<KLAVIYO_RETRY_BASE_MS> --transport stdio klaviyo-mcp -- npx -y @scalably-io/klaviyo-mcp
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add klaviyo-mcp --env KLAVIYO_KEY_MAIN=<KLAVIYO_KEY_MAIN> --env KLAVIYO_API_BASE=<KLAVIYO_API_BASE> --env KLAVIYO_RETRY_BASE_MS=<KLAVIYO_RETRY_BASE_MS> -- npx -y @scalably-io/klaviyo-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "klaviyo-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@scalably-io/klaviyo-mcp"
            ],
            "env": {
                "KLAVIYO_KEY_MAIN": "<KLAVIYO_KEY_MAIN>",
                "KLAVIYO_API_BASE": "<KLAVIYO_API_BASE>",
                "KLAVIYO_RETRY_BASE_MS": "<KLAVIYO_RETRY_BASE_MS>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "klaviyo-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@scalably-io/klaviyo-mcp"
            ],
            "env": {
                "KLAVIYO_KEY_MAIN": "<KLAVIYO_KEY_MAIN>",
                "KLAVIYO_API_BASE": "<KLAVIYO_API_BASE>",
                "KLAVIYO_RETRY_BASE_MS": "<KLAVIYO_RETRY_BASE_MS>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e KLAVIYO_KEY_MAIN=<KLAVIYO_KEY_MAIN> -e KLAVIYO_API_BASE=<KLAVIYO_API_BASE> -e KLAVIYO_RETRY_BASE_MS=<KLAVIYO_RETRY_BASE_MS> klaviyo-mcp npx -y @scalably-io/klaviyo-mcp
```
Replace <…> with your own values

## When to use it
- Pull revenue, open, and bounce statistics for recent campaigns
- Inspect flow trigger steps and automation performance
- Compare variation metrics from campaign A/B splits
- Verify marketing consent and suppression status for customer profiles
- Generate unified performance summaries across multiple stores

## Example prompts
- Check recent campaigns and summarize revenue metrics for main
- List email templates and inspect the layout for abandoned carts
- Fetch a cross-account performance summary for all configured brands

## Similar
- [klaviyo](https://affpapa.org/en/nevibecode/skills/klaviyo.md) — skill · 517 installs
- [claude-marketing-skills](https://affpapa.org/en/nevibecode/skills/claude-marketing-skills.md) — skill · 833 installs
- [Signal by StackEnhance](https://affpapa.org/en/nevibecode/mcp/signal-by-stackenhance.md) — MCP server
- [ecommerce-email-marketing-builder](https://affpapa.org/en/nevibecode/skills/ecommerce-email-marketing-builder.md) — skill · 1100 installs
- [email-marketing-bible](https://affpapa.org/en/nevibecode/skills/email-marketing-bible.md) — skill · ★ 355
- [drop-off-rescue](https://affpapa.org/en/nevibecode/skills/drop-off-rescue.md) — skill · ★ 111

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
