Sponsored by Deepsite.site

Klaviyo MCP Server

Created By
relay-commerce8 months ago
Content

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.

🚀 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:

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

# List available tools
mcp-cli tool list --server klaviyo

# Call a specific tool
mcp-cli tool call get_profiles --server klaviyo --input '{"api_key": "your-api-key"}'

📖 API Examples

Create a Customer Profile

create_profile(
    api_key="your-api-key",
    profile_data='{"email": "customer@example.com", "first_name": "John", "last_name": "Doe"}'
)

Get All Campaigns

get_campaigns(
    api_key="your-api-key",
    filter_expr="equals(status,'draft')",
    page_size=50
)

Track a Custom Event

create_event(
    api_key="your-api-key",
    event_data='{"metric": {"name": "Placed Order"}, "profile": {"email": "customer@example.com"}, "properties": {"value": 99.99, "item_count": 2}}'
)

Create a Customer Segment

create_segment(
    api_key="your-api-key",
    segment_data='{"name": "High Value Customers", "definition": {"condition_groups": [{"conditions": [{"field": "properties.total_spent", "operator": "greater-than", "value": 1000}]}]}}'
)

Send a Campaign

send_campaign(
    api_key="your-api-key",
    campaign_id="campaign-id-here"
)

🔐 Authentication

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

Required API Scopes

Make sure your Klaviyo API key has these scopes:

  • profiles:read, profiles:write
  • lists:read, lists:write
  • campaigns:read, campaigns:write
  • segments:read, segments:write
  • events:read, events:write
  • flows:read, flows:write
  • metrics:read
  • templates:read, templates:write
  • catalogs:read, catalogs:write
  • coupons:read, coupons:write

📊 Available Tools

Profiles API (4 tools)
  • 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
Lists API (4 tools)
  • 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
Campaigns API (4 tools)
  • get_campaigns() - List all campaigns
  • create_campaign() - Create new email campaigns
  • get_campaign() - Get specific campaign details
  • send_campaign() - Send campaigns immediately
Segments API (3 tools)
  • get_segments() - List all segments
  • create_segment() - Create new dynamic segments
  • get_segment_profiles() - Get profiles in segments
Events API (3 tools)
  • get_events() - List events with filtering and sorting
  • create_event() - Track new customer events
  • get_event() - Get specific event details
Flows API (3 tools)
  • get_flows() - List all automated flows
  • get_flow() - Get specific flow details
  • update_flow_status() - Update flow status (draft/live/stopped/archived)
Other APIs

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

⚡ Rate Limits

Klaviyo has the following rate limits:

  • Burst: 75 requests per second
  • Steady: 700 requests per minute

The server includes built-in protection with timeout handling and proper error messages for rate limit scenarios.

🛡️ Security

  • ✅ API keys are passed as parameters (never hardcoded)
  • ✅ All requests use HTTPS
  • ✅ Proper error handling prevents sensitive data exposure
  • ✅ Input validation for all parameters
  • ✅ No secrets stored in code or logs

🔧 Technical Details

  • API Base URL: https://a.klaviyo.com/api
  • API Revision: 2025-04-15
  • Protocol: JSON:API format
  • Authentication: Klaviyo-API-Key header
  • Python Version: 3.10+
  • MCP Version: 1.0.0+

📁 File Structure

Klaviyo-MCP-Server/
├── klaviyo_mcp_server.py      # Main MCP server implementation
├── klaviyo_requirements.txt   # Python dependencies
├── klaviyo_setup.sh          # Setup script
├── klaviyo_documentation.md  # Detailed documentation
├── test_klaviyo_server.py    # Test script
└── README.md                 # This file

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🆘 Support

🏆 Why This MCP Server?

This is the most comprehensive Klaviyo MCP integration available, providing:

  • Complete API coverage - All major Klaviyo endpoints
  • Production ready - Proper error handling and security
  • Easy to use - Consistent interface across all tools
  • Well documented - Clear examples and setup instructions
  • Actively maintained - Regular updates and improvements

Perfect for businesses wanting to integrate Klaviyo functionality into AI-powered workflows, customer service automation, marketing automation, and data analysis tasks.


Made with ❤️ for the Klaviyo and MCP communities

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Serper MCP ServerA Serper MCP Server
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Tavily Mcp
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
ChatWiseThe second fastest AI chatbot™
Playwright McpPlaywright MCP server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
CursorThe AI Code Editor
Amap Maps高德地图官方 MCP Server
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
DeepChatYour AI Partner on Desktop
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
WindsurfThe new purpose-built IDE to harness magic
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.