MCP Directory

How to add Klaviyo MCP Server to Claude Desktop

Klaviyo's official MCP server: manage campaigns, profiles, flows, events, and reporting from AI clients with an API key. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.

Last updated June 14, 2026 ยท 0โ˜… ยท stdio ยท apikey ยท official

Claude Desktop config for Klaviyo MCP Server

uvx klaviyo-mcp-server@latest
{
  "mcpServers": {
    "klaviyo-mcp-server": {
      "command": "uvx",
      "args": [
        "klaviyo-mcp-server@latest"
      ],
      "env": {
        "PRIVATE_API_KEY": "<your-klaviyo-private-api-key>",
        "READ_ONLY": "false",
        "ALLOW_USER_GENERATED_CONTENT": "false"
      }
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Claude Desktop โ†’ Settings โ†’ Developer โ†’ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the Klaviyo MCP Server config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 5Open a chat and confirm Klaviyo MCP Server's tools appear under the ๐Ÿ”Œ tools menu.

Before you start

  • uv installed (uvx fetches and runs klaviyo-mcp-server@latest; requires Python 3.13+, which uv manages)
  • A Klaviyo private API key with the scopes you need (Profiles, Campaigns, Flows, Events, ...)
  • Owner, Admin, or Manager role on the Klaviyo account to create that key

What Klaviyo MCP Server can do in Claude Desktop

get_campaigns

List and inspect campaigns.

create_campaign

Create a new campaign.

get_profiles

Fetch customer profiles.

create_profile

Create a customer profile.

update_profile

Update an existing profile.

get_flow_report

Pull performance reporting for flows.

create_email_template

Create an email template.

update_dnd_email_template

Update a drag-and-drop email template.

Security

The private API key carries exactly the scopes you grant it โ€” mint a minimal one, and set READ_ONLY=true if you only need reporting. Keep ALLOW_USER_GENERATED_CONTENT=false unless you truly need the agent reading customer-written content (reviews, form responses), since that text is a prompt-injection vector.

Klaviyo MCP Server + Claude Desktop FAQ

Where is the Claude Desktop config file?

Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Klaviyo MCP Server config there under the "mcpServers" key and restart the client.

Is Klaviyo MCP Server safe to use with Claude Desktop?

The private API key carries exactly the scopes you grant it โ€” mint a minimal one, and set READ_ONLY=true if you only need reporting. Keep ALLOW_USER_GENERATED_CONTENT=false unless you truly need the agent reading customer-written content (reviews, form responses), since that text is a prompt-injection vector.

Is it safe to connect the Klaviyo MCP server to my production account?

Reasonably, if you use the guardrails: the key's scopes cap what the agent can reach, READ_ONLY=true disables all writes server-side, and ALLOW_USER_GENERATED_CONTENT=false keeps customer-written text (a prompt-injection vector) out of the context. Start read-only with minimal scopes and widen deliberately.

Is this official and free?

Yes โ€” it is published by Klaviyo on PyPI and documented on developers.klaviyo.com, and the server costs nothing beyond your existing Klaviyo subscription. Normal API rate limits and plan-based feature availability still apply.

Does it run locally or hosted?

The standard setup is local: uvx runs the Python package on your machine over stdio with your API key in env. Klaviyo's docs also describe a remote streamable-HTTP option with OAuth dynamic client registration if your client prefers a hosted connection.

View repo Full Klaviyo MCP Server page