Klaviyo MCP Server

by relay-commerce

294 downloads Not rated yet
GitHub

About

# Klaviyo MCP Server A comprehensive Model Context Protocol (MCP) server that provides complete access to Klaviyo's API functionality. This server enables AI assistants like Claude to interact with all major Klaviyo APIs through 34+ tools covering profiles, campaigns, flows, lists, segments, events, and more. ## 🚀…

Explore

- ✅ 34 tools covering all major Klaviyo API endpoints
- ✅ Secure authentication using Klaviyo private API keys
- ✅ Comprehensive error handling for network, HTTP, and API errors
- ✅ Rate limiting protection with timeout and retry logic
- ✅ Input validation for all parameters and JSON data
- ✅ Consistent interface - all tools follow the same patterns
- ✅ JSON:API format support with filtering, pagination, and sorting
- ✅ Complete documentation with usage examples

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Klaviyo MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Python 3.10 or higher
- Klaviyo account with API access
- Klaviyo Private API Key (Get yours here)

1. Clone the repository:

   git clone https://github.com/relay-commerce/Klaviyo-MCP-Server.git
cd Klaviyo-MCP-Server

2. Run the setup script:

   chmod +x klaviyo_setup.sh
./klaviyo_setup.sh

3. Get your Klaviyo API key:
- Go to Klaviyo API Keys
- Create a new private API key with appropriate scopes

1. Create virtual environment:

   python3 -m venv klaviyo_mcp_env
source klaviyo_mcp_env/bin/activate

2. Install dependencies:

   pip install -r klaviyo_requirements.txt

The server uses Klaviyo Private API Keys for authentication. Each tool requires an api_key parameter:

- Never hardcode API keys in your code
- Pass API keys as parameters to each tool call
- Ensure your API key has the necessary scopes for the operations you want to perform

mcp-cli tool call get_profiles --server klaviyo --input '{"api_key": "your-api-key"}'
``

<details>
<summary><strong>Profiles API (4 tools)</strong></summary>

- get_profiles() - List all profiles with filtering, pagination, and sorting
-
create_profile() - Create new customer profiles
-
get_profile() - Get specific profile by ID
-
update_profile() - Update existing profile data
</details>

<details>
<summary><strong>Lists API (4 tools)</strong></summary>

- get_lists() - List all lists in account
-
create_list() - Create new lists
-
get_list_profiles() - Get profiles in a specific list
-
add_profiles_to_list() - Add profiles to lists
</details>

<details>
<summary><strong>Campaigns API (4 tools)</strong></summary>

- get_campaigns() - List all campaigns
-
create_campaign() - Create new email campaigns
-
get_campaign() - Get specific campaign details
-
send_campaign() - Send campaigns immediately
</details>

<details>
<summary><strong>Segments API (3 tools)</strong></summary>

- get_segments() - List all segments
-
create_segment() - Create new dynamic segments
-
get_segment_profiles() - Get profiles in segments
</details>

<details>
<summary><strong>Events API (3 tools)</strong></summary>

- get_events() - List events with filtering and sorting
-
create_event() - Track new customer events
-
get_event() - Get specific event details
</details>

<details>
<summary><strong>Flows API (3 tools)</strong></summary>

- get_flows() - List all automated flows
-
get_flow() - Get specific flow details
-
update_flow_status() - Update flow status (draft/live/stopped/archived)
</details>

<details>
<summary><strong>Other APIs</strong></summary>

Metrics API (2 tools)
-
get_metrics() - List all available metrics
-
get_metric() - Get specific metric details

Templates API (2 tools)
-
get_templates() - List all email templates
-
create_template() - Create new email templates

Catalogs API (3 tools)
-
get_catalog_items() - List catalog items
-
create_catalog_item() - Create new catalog items
-
get_catalog_variants() - List catalog variants

Coupons API (2 tools)
-
get_coupons() - List all coupons
-
create_coupon() - Create new coupons

Reporting API (2 tools)
-
query_campaign_values() - Get campaign performance metrics
-
query_flow_values() - Get flow performance metrics

Accounts API (2 tools)
-
get_accounts() - Get account information
-
get_account()` - Get specific account details
</details>

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "klaviyo mcp server": {
            "klaviyo-mcp-server-relay-commerce": {
                "command": "python3",
                "args": [
                    "-m",
                    "venv",
                    "klaviyo_mcp_env"
                ]
            }
        }
    }
}

McpServers

{
    "klaviyo-mcp-server-relay-commerce": {
        "command": "python3",
        "args": [
            "-m",
            "venv",
            "klaviyo_mcp_env"
        ]
    }
}

A comprehensive Model Context Protocol (MCP) server that provides complete access to Klaviyo's API functionality. This server enables AI assistants like Claude to interact with all major Klaviyo APIs through 34+ tools covering profiles, campaigns, flows, lists, segments, events, and more.

🚀 Features

Complete API Coverage

- Profiles API (4 tools) - Create, read, update, search customer profiles - Lists API (4 tools) - Manage lists and list memberships - Campaigns API (4 tools) - Create, manage, and send email campaigns - Segments API (3 tools) - Create and query dynamic customer segments - Events API (3 tools) - Track and retrieve customer events - Flows API (3 tools) - Manage automated email flows - Metrics API (2 tools) - Access performance metrics - Templates API (2 tools) - Manage email templates - Catalogs API (3 tools) - Manage product catalogs and variants - Coupons API (2 tools) - Create and manage discount coupons - Reporting API (2 tools) - Query campaign and flow analytics - Accounts API (2 tools) - Access account information

Key Features

- ✅ 34 tools covering all major Klaviyo API endpoints - ✅ Secure authentication using Klaviyo private API keys - ✅ Comprehensive error handling for network, HTTP, and API errors - ✅ Rate limiting protection with timeout and retry logic - ✅ Input validation for all parameters and JSON data - ✅ Consistent interface - all tools follow the same patterns - ✅ JSON:API format support with filtering, pagination, and sorting - ✅ Complete documentation with usage examples

📋 Prerequisites

- Python 3.10 or higher
- Klaviyo account with API access
- Klaviyo Private API Key (Get yours here)

🛠️ Installation

Quick Setup

1. Clone the repository:

   git clone https://github.com/relay-commerce/Klaviyo-MCP-Server.git
cd Klaviyo-MCP-Server

2. Run the setup script:

   chmod +x klaviyo_setup.sh
./klaviyo_setup.sh

3. Get your Klaviyo API key:
- Go to Klaviyo API Keys
- Create a new private API key with appropriate scopes

Manual Setup

1. Create virtual environment:

   python3 -m venv klaviyo_mcp_env
source klaviyo_mcp_env/bin/activate

2. Install dependencies:

   pip install -r klaviyo_requirements.txt

🧪 Testing

Test the server to ensure everything is working:

source klaviyo_mcp_env/bin/activate
python test_klaviyo_server.py

You should see output confirming all 34 tools are available:

✅ SUCCESS: All expected tools are available!
Test completed. Total tools available: 34

🔧 Usage

With Claude Desktop

Add the server to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "klaviyo": {
      "command": "python",
      "args": ["/absolute/path/to/klaviyo_mcp_server.py"]
    }
  }
}

With MCP CLI

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.