Back to MCP Servers

Klaviyo MCP Server

Official Klaviyo MCP server for managing campaigns, flows, profiles, events, catalogs, templates, segments, and reporting via AI clients.

Email & Outbound by Klaviyo OAuth2 (remote) or API Key (local) active
Overview

The Klaviyo MCP server is the official Model Context Protocol integration maintained by Klaviyo. It exposes Klaviyo's marketing platform APIs to AI clients like Claude, Cursor, ChatGPT, and VS Code so that agents can read and write campaign data, manage customer profiles and subscriptions, build flows, upload assets, and pull performance reports.

Klaviyo offers two deployment modes. The remote (hosted) server at https://mcp.klaviyo.com/mcp uses OAuth with dynamic client registration and requires an Owner, Admin, or Manager role on the Klaviyo account. The local server is distributed as a Python package (klaviyo-mcp-server on PyPI) and runs via uvx, authenticating with a Klaviyo Private API Key that has the appropriate scopes.

Tools are grouped into Accounts, Campaigns, Catalogs, Events, Flows, Groups (lists and segments), Images, Profiles, Reporting, Templates, and Translations (Beta). Both modes support a read-only flag and a switch to restrict tools that handle user generated content, which helps mitigate prompt injection when AI agents browse profile or event data.

Tools

Tool Description
get_account Retrieve details about the connected Klaviyo account.
list_campaigns List campaigns in the account with filtering.
get_campaign Retrieve details for a specific campaign.
create_campaign Create a new email or SMS campaign.
assign_template_to_campaign_message Attach a template to a campaign message.
list_catalog_items List catalog items used for product feeds and personalization.
list_events List customer events (e.g. Placed Order, Viewed Product).
create_event Track a new event on a profile.
get_metric Retrieve a Klaviyo metric definition.
query_metric_aggregates Query aggregated metric data for reporting.
list_flows List automated flows in the account.
get_flow Retrieve details for a specific flow.
list_lists List subscriber lists.
list_segments List segments.
get_list Retrieve a single list.
get_segment Retrieve a single segment.
upload_image Upload an image from a local file or URL to Klaviyo's image library.
list_profiles List customer profiles.
get_profile Retrieve a profile by ID.
create_profile Create a new profile.
update_profile Update an existing profile.
subscribe_profiles Manage marketing subscriptions for one or more profiles.
get_campaign_report Pull a campaign performance report.
get_flow_report Pull a flow performance report.
create_template Create an email template.
get_template Retrieve an email template.
manage_translations Manage translation collections (Beta).
Setup Guide

Option 1: Remote server (recommended)

The hosted server lives at https://mcp.klaviyo.com/mcp and uses OAuth. You must have an Owner, Admin, or Manager role on the Klaviyo account.

Claude Desktop or Claude.ai (Custom Connector): Settings > Connectors > Add custom connector.

  • Name: Klaviyo
  • URL: https://mcp.klaviyo.com/mcp
  • Optional multi-account: append ?company=your-company-slug

Cursor: Settings > Cursor Settings > MCP > New MCP Server.

{
  "mcpServers": {
    "klaviyo": {
      "url": "https://mcp.klaviyo.com/mcp"
    }
  }
}

VS Code: Ctrl + Shift + P > MCP: Open User Configuration.

{
  "servers": {
    "klaviyo": {
      "url": "https://mcp.klaviyo.com/mcp"
    }
  }
}

Optional query parameters: ?read-only=true and ?disable-tools-with-user-generated-content=true.

Option 2: Local server (self-hosted)

Requires the uv tool and a Klaviyo Private API Key with scopes: Accounts (Read), Campaigns (Full), Catalogs (Read), Events (Full), Flows (Read), Images (Full), List (Read), Metrics (Read), Profiles (Full), Segments (Full), Subscriptions (Full), Tags (Read), Templates (Full), Translations (Full).

Claude Desktop: Settings > Developer > Edit Config.

{
  "mcpServers": {
    "klaviyo": {
      "command": "uvx",
      "args": ["klaviyo-mcp-server@latest"],
      "env": {
        "PRIVATE_API_KEY": "YOUR_API_KEY",
        "READ_ONLY": "false",
        "ALLOW_USER_GENERATED_CONTENT": "false"
      }
    }
  }
}

Environment variables:

  • PRIVATE_API_KEY: Klaviyo private API key
  • READ_ONLY: true disables all write tools (default false)
  • ALLOW_USER_GENERATED_CONTENT: false restricts tools that surface profile/event content to reduce prompt injection risk (default true)

Restart your MCP client after editing config.

Use Cases
  • Pull weekly campaign and flow performance reports (open rate, click rate, revenue per recipient) directly into an agent for analysis.
  • Build and queue a new email campaign from a brief, including template assignment and audience selection.
  • Look up a customer profile, inspect their event history, and update subscription preferences during a support workflow.
  • Sync product catalog items and upload campaign hero images without leaving the AI client.
  • Identify underperforming flows by querying metric aggregates, then summarize recommended changes for the marketing team.
Example Prompts
  • "Show me last week's top 5 campaigns by revenue and the open rate for each."
  • "Create a draft email campaign for our Memorial Day sale targeting the VIP segment, and attach our existing Promo template."
  • "Look up the profile for jane@example.com, list her last 10 events, and unsubscribe her from the Weekly Newsletter list."
  • "Compare flow performance for Welcome Series and Abandoned Cart over the last 30 days and explain the gap."
  • "Upload this banner image and assign it to the next campaign message scheduled for Friday."
Pros
  • Official, Klaviyo-maintained server with both hosted (OAuth) and self-hosted (API key) deployment options.
  • Broad tool coverage across campaigns, flows, profiles, events, catalogs, templates, segments, and reporting.
  • Built-in safety controls: READ_ONLY mode and an option to disable tools that expose user-generated content.
  • Works out of the box with Claude, Cursor, VS Code, and ChatGPT (via App or Developer Mode).
Limitations
  • Remote server requires Owner, Admin, or Manager role, which may be restrictive for analyst or contractor accounts.
  • Some areas (Flows, Catalogs, Tags, Translations) are read-only or Beta, limiting full automation.
  • Local server requires creating a private API key with a long list of scopes, which is heavier setup than the hosted option.
Alternatives
  • Mailchimp MCP integrations for ESP automation in the Intuit ecosystem.
  • HubSpot MCP server for marketing and CRM workflows when contacts and lifecycle data live in HubSpot.
  • Community Klaviyo MCP forks such as mattcoatsworth/Klaviyo-MCP-Server if you need to customize behavior beyond the official server.