Klaviyo MCP Server
Official Klaviyo MCP server for managing campaigns, flows, profiles, events, catalogs, templates, segments, and reporting via AI clients.
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). |
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 keyREAD_ONLY:truedisables all write tools (defaultfalse)ALLOW_USER_GENERATED_CONTENT:falserestricts tools that surface profile/event content to reduce prompt injection risk (defaulttrue)
Restart your MCP client after editing config.
- 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.
- "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."
- 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_ONLYmode 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).
- 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.
- 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-Serverif you need to customize behavior beyond the official server.