Klaviyo MCP Server
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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Klaviyo MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- 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 sortingcreate_profile()
- - Create new customer profilesget_profile()
- - Get specific profile by IDupdate_profile()
- - Update existing profile data
</details>
<details>
<summary><strong>Lists API (4 tools)</strong></summary>
- get_lists() - List all lists in accountcreate_list()
- - Create new listsget_list_profiles()
- - Get profiles in a specific listadd_profiles_to_list()
- - Add profiles to lists
</details>
<details>
<summary><strong>Campaigns API (4 tools)</strong></summary>
- get_campaigns() - List all campaignscreate_campaign()
- - Create new email campaignsget_campaign()
- - Get specific campaign detailssend_campaign()
- - Send campaigns immediately
</details>
<details>
<summary><strong>Segments API (3 tools)</strong></summary>
- get_segments() - List all segmentscreate_segment()
- - Create new dynamic segmentsget_segment_profiles()
- - Get profiles in segments
</details>
<details>
<summary><strong>Events API (3 tools)</strong></summary>
- get_events() - List events with filtering and sortingcreate_event()
- - Track new customer eventsget_event()
- - Get specific event details
</details>
<details>
<summary><strong>Flows API (3 tools)</strong></summary>
- get_flows() - List all automated flowsget_flow()
- - Get specific flow detailsupdate_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 metricsget_metric()
- - Get specific metric details
Templates API (2 tools)
- get_templates() - List all email templatescreate_template()
- - Create new email templates
Catalogs API (3 tools)
- get_catalog_items() - List catalog itemscreate_catalog_item()
- - Create new catalog itemsget_catalog_variants()
- - List catalog variants
Coupons API (2 tools)
- get_coupons() - List all couponscreate_coupon()
- - Create new coupons
Reporting API (2 tools)
- query_campaign_values() - Get campaign performance metricsquery_flow_values()
- - Get flow performance metrics
Accounts API (2 tools)
- get_accounts() - Get account informationget_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 informationKey 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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



