使用说明
可移植MCP服务器-Cloudflare Workers
在Cloudflare Workers上运行的Iterable的远程MCP服务器,使ChatGPT、Gemini CLI和其他基于web的AI客户端能够连接到您的Iterability帐户。
特性
- ✅ 远程MCP服务器 -web客户端的HTTP/SSE传输
- ✅ 23+只读工具 -活动、模板、用户、列表、旅程等。
- ✅ 安全认证 -通过标头的API密钥(在传输过程中加密)
- ✅ 权限门控 -PII、写入和发送限制
- ✅ 多用户 -每个用户都提供自己的API密钥
- ✅ 全局边缘 -部署在Cloudflare的网络上
快速入门-连接到公共服务器
无需部署!使用我们的公共服务器立即开始。
重要提示: 双子座网络(Gemini.google.com)确实如此 不 目前支持自定义MCP服务器。使用 Gemini CLI 或 ChatGPT 相反。
选项1:ChatGPT(Plus、Pro、Team或Enterprise)
ChatGPT在开发人员模式下通过连接器支持MCP服务器。
步骤:
-
启用开发者模式
- 打开 ChatGPT
- 首选 设置 (齿轮图标)→ 连接器 → 高级
- 隐藏面 开发者模式
-
创建连接器
- 点击 + 聊天面板中的图标
- 选择 开发者模式 → 添加源
- 或前往 设置 → 连接器 → 创建
-
配置连接器
- 姓名:
Iterable - 服务器URL:
https://iterable-mcp-server.nodemaker.workers.dev/sse?api_key=YOUR_ITERABLE_API_KEY - 检查✅ “我信任此提供商”
- 点击 创建
- 姓名:
-
用它
- 开始新的聊天并选择 开发者模式 从模型下拉列表中
- 选择您的 可迭代 连接器
- 问: “列出我的Iterable活动”
注: 替换
YOUR_ITERABLE_API_KEY与你的实际 可重复的API密钥.
选项2:Gemini CLI
Gemini CLI支持MCP服务器,具有用于安全身份验证的自定义标头。
步骤:
-
安装Gemini CLI (如果尚未安装)
npm install -g @anthropic-ai/gemini-cli -
配置MCP服务器
编辑
~/.gemini/settings.json(如果不存在则创建):{ "mcpServers": { "iterable": { "httpUrl": "https://iterable-mcp-server.nodemaker.workers.dev/mcp", "headers": { "X-Iterable-Api-Key": "YOUR_ITERABLE_API_KEY" } } } }或者使用环境变量插值:
{ "mcpServers": { "iterable": { "httpUrl": "https://iterable-mcp-server.nodemaker.workers.dev/mcp", "headers": { "X-Iterable-Api-Key": "$ITERABLE_API_KEY" } } } }然后设置环境变量:
export ITERABLE_API_KEY="your_actual_api_key" -
用它
gemini # Ask: "What campaigns do I have in Iterable?"
替代方案:通过命令行添加
gemini mcp add iterable \
--http-url "https://iterable-mcp-server.nodemaker.workers.dev/mcp" \
--header "X-Iterable-Api-Key: YOUR_ITERABLE_API_KEY"
选项3:Claude桌面/光标(通过mcp-remote)
对于Claude Desktop或Cursor,请使用 mcp-remote 代理:
克劳德桌面版 (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"iterable": {
"command": "npx",
"args": [
"mcp-remote",
"https://iterable-mcp-server.nodemaker.workers.dev/sse",
"--header",
"X-Iterable-Api-Key: YOUR_ITERABLE_API_KEY"
]
}
}
}
光标 (.cursor/mcp.json):
{
"mcpServers": {
"iterable": {
"command": "npx",
"args": [
"mcp-remote",
"https://iterable-mcp-server.nodemaker.workers.dev/sse",
"--header",
"X-Iterable-Api-Key: YOUR_ITERABLE_API_KEY"
]
}
}
}
认证
服务器支持两种方法来传递您的Iterable API密钥:
| 方法 | 如何使用 | 安全 |
|---|---|---|
| 头球 | X-Iterable-Api-Key: YOUR_KEY |
✅ 以HTTPS加密 |
| URL参数 | ?api_key=YOUR_KEY |
⚠️ 可能出现在日志中 |
建议: 尽可能使用标题(Gemini CLI、Claude Desktop)。使用ChatGPT的URL参数(其连接器格式要求)。
安全考虑
URL参数可以出现在:
- 服务器访问日志
- 浏览器历史
- 代理日志
标头在HTTPS传输过程中被加密,当您的客户端支持它们时,它们是更安全的选择。
可用工具
活动工具
get_campaigns-列出所有带有筛选功能的活动get_campaign-获取特定的活动详细信息get_campaign_metrics-获取活动绩效指标get_child_campaigns-获取定期活动的儿童活动
模板工具
get_templates-列出所有模板get_email_template-按ID获取电子邮件模板get_sms_template-按ID获取短信模板get_push_template-按ID获取推送模板get_inapp_template-按ID获取应用内模板get_template_by_client_id-通过客户端ID获取模板
用户工具
get_user_by_email-通过电子邮件查找用户 (需要PII许可)get_user_by_user_id-按用户ID查找用户 (需要PII许可)get_user_fields-获取所有用户数据字段get_sent_messages-获取发送给用户的消息 (需要PII许可)get_user_events_by_email-获取用户事件 (需要PII许可)get_user_events_by_user_id-获取用户事件 (需要PII许可)
列出工具
get_lists-获取所有订阅者列表get_list_size-获取列表中的用户数get_list_users-在列表中获取用户 (需要PII许可)
其他工具
get_channels-获取消息频道get_message_types-获取消息类型get_journeys-获取所有行程get_experiment_metrics-获取实验指标get_webhooks-获取webhooksget_snippets-获取代码片段get_snippet-获取特定代码段get_catalogs-获取所有目录get_catalog_items-从目录中获取项目get_catalog_item-获取特定目录项
平台支持
| 平台 | 支持 | 授权方式 | 注意事项 |
|---|---|---|---|
| ChatGPT | ✅ 完整 | URL参数 | Plus、Pro、Team或Enterprise |
| Gemini CLI | ✅ 完整 | 标头 | 最安全选项 |
| Gemini Web | ❌ 无 | - | 不支持自定义MCP服务器 |
| 克劳德桌面版 | ✅ 通过代理 | 邮件头 | 使用mcp远程 |
| 光标 | ✅ 通过代理 | 邮件头 | 使用mcp远程 |
部署您自己的服务器
1.克隆和安装
git clone https://github.com/your-org/iterable-mcp-server-cloudflare
cd iterable-mcp-server-cloudflare
npm install
2.本地运行
# Create .env file with your API key for testing
echo 'ITERABLE_API_KEY=your_api_key' > .env
# Start local server
npm run dev
服务器将在以下时间启动 http://localhost:8788
3.部署到Cloudflare
npm run deploy
您的服务器将在 https://iterable-mcp-server.your-account.workers.dev
配置
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
ITERABLE_API_BASE_URL |
❌ | https://api.iterable.com |
使用 https://api.eu.iterable.com 欧盟 |
ITERABLE_USER_PII |
❌ | false |
启用暴露用户PII的工具 |
ITERABLE_ENABLE_WRITES |
❌ | false |
启用修改数据的工具 |
ITERABLE_ENABLE_SENDS |
❌ | false |
启用发送消息的工具 |
安全默认值
默认情况下,服务器在 安全只读模式:
- ❌ 无用户个人身份信息暴露
- ❌ 无写入操作
- ❌ 未发送消息
要在您自己的部署中启用提升的功能,请执行以下操作:
wrangler secret put ITERABLE_USER_PII
# Enter: true
测试
# Unit tests
npm test
# Integration tests (local)
echo 'ITERABLE_API_KEY=your_api_key' > .env
npm run integration:local
# Integration tests (remote)
npm run integration:remote
故障排除
“需要API密钥”错误
请确保您正在传递API密钥:
# Via header (recommended)
curl -H 'X-Iterable-Api-Key: YOUR_KEY' \
https://iterable-mcp-server.nodemaker.workers.dev/mcp
# Via URL parameter
curl 'https://iterable-mcp-server.nodemaker.workers.dev/mcp?api_key=YOUR_KEY'
ChatGPT显示“服务器被拒绝”
- 确保启用了开发人员模式
- 验证您的URL是否包含API密钥:
...?api_key=YOUR_KEY - 检查您是否正在使用
/sseChatGPT的端点
Gemini CLI未连接
- 验证您的
settings.json是有效的JSON(没有尾随逗号) - 检查文件位置:
~/.gemini/settings.json - 验证您的API密钥是否正确
欧盟地区
如果您的Iterable帐户位于欧盟地区,请部署自己的服务器:
wrangler secret put ITERABLE_API_BASE_URL
# Enter: https://api.eu.iterable.com
许可证
麻省理工学院
学分
- 基于 @可迭代/mcp Greg Methvin
- 建于 Cloudflare代理SDK
