Klaviyo API服务器

一个全面的Klaviyo API服务器,提供对Klaviyo所有主要API功能的访问,包括客户资料、营销活动、自动化流程、列表、细分、事件等的管理。

  • by relay-commerce
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 relay-commerce/klaviyo-mcp-server

使用说明

键盘 MCP 服务器

全面的模型上下文协议(MCP)服务器,可完全访问Klaviyo的API功能。该服务器使像Claude这样的人工智能助手能够通过34多种工具与所有主要的Klaviyo API进行交互,这些工具涵盖了配置文件、活动、流程、列表、细分、事件等。

🚀 特性

API全面覆盖

  • 简介API (4个工具)-创建、阅读、更新、搜索客户资料
  • 列出API (4个工具)-管理列表和列表成员资格
  • 活动API (4个工具)-创建、管理和发送电子邮件活动
  • 细分市场API (3个工具)-创建和查询动态客户细分
  • 事件API (3个工具)-跟踪和检索客户事件
  • 流量API (3个工具)-管理自动化电子邮件流
  • 指标API (2个工具)-访问性能指标
  • 模板API (2个工具)-管理电子邮件模板
  • API目录 (3个工具)-管理产品目录和变体
  • 优惠券API (2个工具)-创建和管理折扣券
  • 报告API (2个工具)-查询活动和流量分析
  • 账户API (2个工具)-访问帐户信息

主要特点

  • ✅ 34工具 涵盖所有主要的Klaviyo API终点
  • ✅ 安全认证 使用Klaviyo API私钥
  • ✅ 全面的错误处理 针对网络、HTTP和API错误
  • ✅ 速率限制保护 具有超时和重试逻辑
  • ✅ 输入验证 对于所有参数和JSON数据
  • ✅ 接口 -所有工具都遵循相同的模式
  • ✅ JSON:API格式 支持过滤、分页和排序
  • ✅ 完整的文件 使用示例

📋 先决条件

  • Python 3.10或更高版本
  • 具有API访问权限的Klaviyo帐户
  • Klaviyo私人API密钥(在这里买你的)

🛠️ 安装

快速设置

  1. 克隆存储库:

    git clone https://github.com/relay-commerce/Klaviyo-MCP-Server.git
    cd Klaviyo-MCP-Server
    
  2. 运行安装脚本:

    chmod +x klaviyo_setup.sh
    ./klaviyo_setup.sh
    
  3. 获取您的Klaviyo API密钥:

手动设置

  1. 创建虚拟环境:

    python3 -m venv klaviyo_mcp_env
    source klaviyo_mcp_env/bin/activate
    
  2. 安装依赖项:

    pip install -r klaviyo_requirements.txt
    

🧪 测试

测试服务器以确保一切正常:

source klaviyo_mcp_env/bin/activate
python test_klaviyo_server.py

您应该看到输出,确认所有34个工具都可用:

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

🔧 用法

使用克劳德桌面

将服务器添加到Claude Desktop配置文件中:

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

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

使用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示例

创建客户档案

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

获取所有活动

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

跟踪自定义事件

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_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_campaign(
    api_key="your-api-key",
    campaign_id="campaign-id-here"
)

🔐 认证

服务器使用Klaviyo专用API密钥进行身份验证。每个工具都需要一个 api_key 参数:

  • 切勿硬编码API密钥 在你的代码中
  • 将API键作为参数传递给每个工具调用
  • 确保API密钥具有要执行的操作所需的作用域

要求的API范围

请确保您的Klaviyo API密钥具有以下作用域:

  • 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

📊 可用工具

Profiles API (4 tools)
  • get_profiles() -列出所有配置文件,包括过滤、分页和排序
  • create_profile() -创建新的客户档案
  • get_profile() -按ID获取特定配置文件
  • update_profile() -更新现有配置文件数据
Lists API (4 tools)
  • get_lists() -列出帐户中的所有列表
  • create_list() -创建新列表
  • get_list_profiles() -获取特定列表中的配置文件
  • add_profiles_to_list() -将配置文件添加到列表
Campaigns API (4 tools)
  • get_campaigns() -列出所有活动
  • create_campaign() -创建新的电子邮件活动
  • get_campaign() -获取特定的活动详细信息
  • send_campaign() -立即发送活动
Segments API (3 tools)
  • get_segments() -列出所有分段
  • create_segment() -创建新的动态分段
  • get_segment_profiles() -获取分段配置文件
Events API (3 tools)
  • get_events() -使用筛选和排序列出事件
  • create_event() -跟踪新客户事件
  • get_event() -获取特定事件详细信息
Flows API (3 tools)
  • get_flows() -列出所有自动化流程
  • get_flow() -获取具体的流程详细信息
  • update_flow_status() -更新流状态(草稿/实时/停止/存档)
Other APIs

指标API(2个工具)

  • get_metrics() -列出所有可用指标
  • get_metric() -获取特定指标的详细信息

模板API(2个工具)

  • get_templates() -列出所有电子邮件模板
  • create_template() -创建新的电子邮件模板

API目录(3个工具)

  • get_catalog_items() -列出目录项
  • create_catalog_item() -创建新的目录项
  • get_catalog_variants() -列出目录变体

优惠券API(2个工具)

  • get_coupons() -列出所有优惠券
  • create_coupon() -创建新优惠券

报告API(2个工具)

  • query_campaign_values() -获取活动绩效指标
  • query_flow_values() -获取流性能指标

账户API(2个工具)

  • get_accounts() -获取帐户信息
  • get_account() -获取特定帐户详细信息

⚡ 速率限制

Klaviyo有以下费率限制:

  • 爆发:每秒75个请求
  • 稳定:每分钟700个请求

该服务器包括内置保护,具有超时处理功能,并为速率限制场景提供适当的错误消息。

🛡️ 安全

  • ✅ API密钥作为参数传递(从不硬编码)
  • ✅ 所有请求都使用HTTPS
  • ✅ 正确的错误处理可防止敏感数据泄露
  • ✅ 所有参数的输入验证
  • ✅ 代码或日志中没有存储任何秘密

🔧 技术细节

  • API基本URL: https://a.klaviyo.com/api
  • API修订版: 2025-04-15
  • 协议:JSON:API格式
  • 认证:Klaviyo-API-Key标头
  • Python版本: 3.10+
  • MCP版本: 1.0.0+

📁 文件结构

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

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🆘 支持

🏆 为什么选择MCP服务器?

这就是 最全面的Klaviyo MCP集成,提供:

  • ✅ 全面覆盖API -所有主要的Klaviyo终点
  • ✅ 生产就绪 -正确的错误处理和安全性
  • ✅ 易于使用 -所有工具的一致界面
  • ✅ 证据充分的 -清晰的示例和设置说明
  • ✅ 积极维护 -定期更新和改进

非常适合希望将Klaviyo功能集成到AI驱动的工作流程、客户服务自动化、营销自动化和数据分析任务中的企业。


由以下材料制成❤️ 为Klaviyo和MCP社区