Klaviyo营销自动化服务器

一个基于Model Context Protocol (MCP)的服务器,为AI助手提供对Klaviyo电子邮件营销和自动化平台的完整访问权限,支持通过自然语言管理订阅者、发送营销活动和分析流程性能。

  • by doinglean
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 doinglean/klaviyo-mcp

使用说明

Klaviyo MCP服务器

107工具 从克劳德手中控制克拉维约。配置文件、活动、流程、细分、模板、事件、指标、标签——所有这些都是通过自然语言实现的。

A. 模型上下文协议(MCP) 服务器,让像克劳德这样的人工智能助手可以完全访问Klaviyo的电子邮件营销和自动化平台。只需让Claude管理您的订阅者、发送活动、分析流量性能或组织您的营销——它会为您处理API调用。

为什么?

如果你使用Klaviyo进行电子邮件/短信营销,而Claude作为你的人工智能助手,那么这个MCP服务器将两者连接起来。您只需告诉Claude您需要什么,而不是点击仪表板或编写API脚本:

"Show me all profiles that subscribed this week"
"Create a campaign for our VIP list and send it"
"What's the revenue from my Abandoned Cart flow this month?"

概述

此MCP服务器包装了Klaviyo的REST API,使人工智能助手能够:

  • 管理订阅者配置文件和列表
  • 创建和发送电子邮件/短信活动
  • 构建和分析自动化流程
  • 使用标签组织资源
  • 跟踪自定义事件和用户行为
  • 查询细分和分析
  • 使用电子邮件模板

使用TypeScript和官方MCP SDK构建,实现可靠、类型安全的交互。

特性

配置文件管理

  • 列出、创建、更新和搜索个人资料(联系人)
  • 订阅/取消订阅列表中的个人资料
  • 管理配置文件属性和自定义属性
  • 批量配置文件操作

列表管理

  • 创建和管理邮件列表
  • 在列表中添加/删除配置文件
  • 查询列表成员资格
  • 列出统计数据和见解

活动运营

  • 列出和查看活动(电子邮件和短信)
  • 创建新活动
  • 向受众发送活动
  • 获取收件人估计数

事件跟踪

  • 跟踪配置文件的自定义事件
  • 查询事件历史记录
  • 访问事件指标

细分与分析

  • 查询现有分段
  • 获取分段成员配置文件
  • 访问营销指标
  • 聚合指标查询

模板

  • 列出并查看电子邮件模板
  • 创建和更新模板
  • 渲染模板预览

流量自动化

  • 列出、查看和管理自动化流
  • 访问流操作和消息
  • 更新流程状态(实时/草稿/手动)
  • 流量分析:汇总绩效报告(打开、点击、收入)
  • 流量时间序列:每日/每周/每月绩效数据

标签和组织

  • 创建和管理用于组织资源的标签
  • 分层组织的标签组
  • 标记/取消标记活动、流、列表、分段
  • 查询标记的资源

快速开始

# Install
npm install -g klaviyo-mcp

# Add to Claude Code
claude mcp add klaviyo-mcp -e KLAVIYO_API_KEY=pk_your_key_here

# Done. Ask Claude anything about your Klaviyo account.

安装

先决条件

  • Node.js 18或更高版本
  • 具有API访问权限的Klaviyo帐户
  • 克劳德桌面或克劳德代码

NPM安装

npm install -g klaviyo-mcp

手动安装

git clone https://github.com/doinglean/klaviyo-mcp.git
cd klaviyo-mcp
npm install
npm run build

配置

1.获取您的Klaviyo API密钥

  1. 登录到您的 图片帐户
  2. 首选 设置 → API密钥
  3. 点击 创建专用API密钥
  4. 选择所需的范围(请参阅 所需范围)
  5. 复制生成的密钥(以开头 pk_)

2.配置克劳德桌面

添加到您的Claude Desktop配置文件中:

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

{
  "mcpServers": {
    "klaviyo": {
      "command": "npx",
      "args": ["klaviyo-mcp"],
      "env": {
        "KLAVIYO_API_KEY": "pk_your_private_api_key_here"
      }
    }
  }
}

3.配置克劳德代码(CLI)

# Add the MCP server
claude mcp add klaviyo-mcp -e KLAVIYO_API_KEY=pk_your_private_api_key_here

# Or with environment variable
export KLAVIYO_API_KEY=pk_your_private_api_key_here
claude mcp add klaviyo-mcp

所需范围

您的API密钥需要以下作用域才能实现完整功能:

范围 必需
profiles:read 列出/获取个人资料
profiles:write 创建/更新配置文件、订阅
lists:read 列表/获取列表
lists:write 创建/更新/删除列表,管理成员
campaigns:read 列出/获取活动
campaigns:write 创建/发送活动
events:read 查询事件
events:write 跟踪事件
flows:read 列出/获取流、操作、消息
flows:write 更新流/操作状态,删除流
segments:read 列出/获取分段
tags:read 列出/获取标签和标签组
tags:write 创建/更新/删除标签、标签资源
templates:read 列出/获取模板
templates:write 创建/更新模板
metrics:read 查询指标/分析

使用示例

使用克劳德桌面/克劳德代码

配置后,您可以自然地与Klaviyo交互:

配置文件管理

"Show me all profiles that subscribed this week"
"Create a new profile for john@example.com with first name John"
"Update the profile for sarah@example.com to add phone number +1234567890"
"Find the profile with email marketing@company.com"

清单的操作

"List all my Klaviyo lists"
"Create a new list called 'Product Launch 2024'"
"Add john@example.com to the Newsletter list"
"How many subscribers are in my VIP Customers list?"
"Remove inactive users from the Weekly Digest list"

活动管理

"Show me all email campaigns from last month"
"What's the status of my Black Friday campaign?"
"How many recipients will receive the Welcome Series campaign?"
"Create a new email campaign targeting the Newsletter list"

事件跟踪

"Track a 'Product Viewed' event for john@example.com with product_id ABC123"
"Show me recent 'Placed Order' events"
"What events has sarah@example.com triggered?"

分析

"What are my email open rates this month?"
"Show me the available metrics in my account"
"How many emails were sent last week?"

模板

"List my email templates"
"Show me the Welcome Email template"
"Render a preview of the Order Confirmation template"

流量自动化

"List all my active flows"
"Show me the Welcome Series flow performance"
"What's the revenue from my Abandoned Cart flow this month?"
"Get daily open rates for my Post-Purchase flow"
"Pause the Flash Sale flow"

标签和组织

"Create a tag called 'Q1 2024' for organizing campaigns"
"Tag my Black Friday campaign with 'Holiday'"
"Show me all flows tagged with 'Automated'"
"List all my tag groups"
"What resources are tagged with 'VIP'?"

可用工具

档案

工具 说明
klaviyo_profiles_list 列出带有过滤功能的个人资料(电子邮件、电话、日期)
klaviyo_profiles_get 按ID获取特定配置文件
klaviyo_profiles_create 创建新配置文件
klaviyo_profiles_update 更新配置文件属性
klaviyo_profiles_subscribe 将个人资料订阅到列表
klaviyo_profiles_suppress 抑制/取消订阅配置文件

列表

工具 说明
klaviyo_lists_list 获取帐户中的所有列表
klaviyo_lists_get 按ID获取列表详细信息
klaviyo_lists_create 创建新列表
klaviyo_lists_update 更新列表名称/设置
klaviyo_lists_delete 删除列表
klaviyo_lists_add_profiles 将配置文件添加到列表中
klaviyo_lists_remove_profiles 从列表中删除配置文件
klaviyo_lists_get_profiles 获取列表中的所有配置文件

活动

工具 说明
klaviyo_campaigns_list 列出活动(按电子邮件/短信筛选)
klaviyo_campaigns_get 获取活动详细信息
klaviyo_campaigns_create 创建新活动
klaviyo_campaigns_update 更新活动设置
klaviyo_campaigns_delete 删除活动
klaviyo_campaigns_send 触发活动发送
klaviyo_campaigns_get_recipients 获取收件人数量估计值

事件

工具 说明
klaviyo_events_track 跟踪个人资料的自定义事件
klaviyo_events_list 使用筛选列出事件
klaviyo_events_get 获取活动详细信息

片段

工具 说明
klaviyo_segments_list 列出所有分段
klaviyo_segments_get 获取细分市场详细信息
klaviyo_segments_get_profiles 获取细分市场中的个人资料

模板

工具 说明
klaviyo_templates_list 列出电子邮件模板
klaviyo_templates_get 获取模板内容
klaviyo_templates_create 创建新模板
klaviyo_templates_render 渲染模板预览

指标

工具 说明
klaviyo_metrics_list 列出可用指标
klaviyo_metrics_query 查询聚合度量数据

流动

工具 说明
klaviyo_flows_list 列出所有具有过滤功能的流
klaviyo_flows_get 按ID获取流量详细信息
klaviyo_flows_update 更新流程状态(实时/草稿/手动)
klaviyo_flows_delete 删除流
klaviyo_flows_get_actions 将所有操作整合到一个流程中
klaviyo_flows_get_messages 获取流中的所有消息
klaviyo_flows_get_tags 获取流的标签
klaviyo_flow_actions_get 获取流操作详细信息
klaviyo_flow_actions_update 更新流操作状态
klaviyo_flow_actions_get_messages 获取流操作的消息
klaviyo_flow_actions_get_flow 获取动作的父流
klaviyo_flow_messages_get 获取流消息详细信息
klaviyo_flow_messages_get_template 获取流消息模板
klaviyo_flow_messages_get_action 获取消息的父操作
klaviyo_flow_values_report 分析:总流量性能
klaviyo_flow_series_report 分析:时间序列流量数据

标签

工具 说明
klaviyo_tags_list 列出所有标签
klaviyo_tags_get 获取标签详细信息
klaviyo_tags_create 创建新标签
klaviyo_tags_update 更新标签名称
klaviyo_tags_delete 删除标签
klaviyo_tags_add_to_resource 标记资源(活动、流、列表、分段)
klaviyo_tags_remove_from_resource 从资源中删除标记
klaviyo_tags_get_resources 使用标签获取所有资源
klaviyo_tags_get_tag_group 获取标签的父组
klaviyo_tag_groups_list 列出所有标签组
klaviyo_tag_groups_get 获取标签组详细信息
klaviyo_tag_groups_create 创建标记组
klaviyo_tag_groups_update 更新标签组
klaviyo_tag_groups_delete 删除标记组
klaviyo_tag_groups_get_tags 获取组中的所有标签

环境变量

变量 必填 默认 描述
KLAVIYO_API_KEY 是 - 您的Klaviyo私人API密钥
KLAVIYO_API_REVISION 没有 2025-01-15 要使用的API版本
KLAVIYO_TIMEOUT_MS 没有 30000 请求超时(毫秒)

错误处理

服务器为常见问题提供明确的错误消息:

  • API密钥无效:检查您的密钥是否以开头 pk_ 并且具有所需的范围
  • 速率限制:服务器尊重Klaviyo的速率限制,并提供重试指导
  • 未找到:当配置文件、列表或活动不存在时清除消息
  • 验证错误:关于无效输入参数的详细反馈

发展

设置

git clone https://github.com/doinglean/klaviyo-mcp.git
cd klaviyo-mcp
npm install

构建

npm run build

测试

npm test

在本地运行

KLAVIYO_API_KEY=pk_your_key npm run dev

项目结构

src/
├── index.ts          # Entry point & MCP server setup
├── config.ts         # Centralized configuration
├── resources.ts      # MCP resource definitions
├── api/
│   └── client.ts     # Klaviyo REST API client
├── tools/            # MCP tool implementations
│   ├── profiles.ts   # Profile management (list, create, update, subscribe)
│   ├── lists.ts      # List operations (CRUD, member management)
│   ├── campaigns.ts  # Campaign lifecycle (create, send, analyze)
│   ├── events.ts     # Event tracking & queries
│   ├── segments.ts   # Segment queries & profiles
│   ├── templates.ts  # Template management & rendering
│   ├── metrics.ts    # Analytics & aggregate queries
│   ├── flows.ts      # Flow automation & analytics
│   ├── tags.ts       # Tags & tag groups
│   └── index.ts      # Tool registry
├── types/
│   └── klaviyo.ts    # TypeScript type definitions
└── utils/
    ├── cache.ts      # Response caching
    ├── logger.ts     # Structured logging
    ├── pagination.ts # Auto-pagination helpers
    └── validation.ts # Input validation

贡献

欢迎投稿!请按照以下步骤操作:

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

指南

  • 遵循现有的代码风格(TypeScript、ESLint)
  • 为新功能添加测试
  • 根据需要更新文档
  • 让PR专注于单一功能/修复

故障排除

“无效的API密钥”错误

  • 确保您的密钥以开头 pk_ (私钥)
  • 验证Klaviyo仪表板中的密钥是否未被撤销
  • 检查是否启用了所需的作用域

“限速”响应

  • Klaviyo有严格的速率限制(因终点而异)
  • 服务器通过重试自动处理速率限制
  • 对于批量操作,允许请求之间有时间间隔

工具未出现在Claude中

  • 配置更改后重新启动Claude Desktop
  • 检查配置文件语法是否为有效的JSON
  • 验证服务器启动时没有错误: KLAVIYO_API_KEY=pk_test npx klaviyo-mcp

连接超时

  • 检查您的网络连接
  • 在上验证Klaviyo的API状态 status.klaviyo.com
  • 尝试增加 KLAVIYO_TIMEOUT_MS

API 参考

该服务器包装了Klaviyo的REST API。关于API的详细文件:

许可证

MIT许可证-请参阅 许可证 了解详情。

致谢

  • 键盘 为其全面的API
  • Anthropic 对于MCP规范
  • MCP社区提供工具和示例

注: 这是一种非正式的整合。Klaviyo是Klaviyoneneneba公司的商标。