SendPulse MCP 服务器
一个模型上下文协议(MCP)服务器,它与SendPulse的API实现全面集成,支持自动化WhatsApp机器人管理、短信营销活动、联系人处理、消息发送以及流程控制。
特性/特点
这个MCP服务器实现了SendPulse API的所有主要功能:
📱 短信营销活动管理
- 创建并向邮件列表或特定电话号码发送短信活动
- 安排短信活动以在未来发送
- 在发送前计算短信费用
- 管理短信联系人和邮件列表
- 从短信黑名单中添加/移除电话号码
- 追踪短信发送状态及活动统计数据
🤖 机器人管理
- 列出所有WhatsApp机器人及其详细信息
- 获取特定机器人的详细信息,包括状态和统计数据
👥 联系人管理
- 列出、创建、更新和删除联系人
- 管理联系人标签和自定义变量
- 批量联系操作支持
💬 消息(通讯)
- 发送包含丰富媒体(图片、文档)的短信
- 发送带有按钮的互动消息
- 发送带有动态参数的模板消息
- 支持多种媒体类型和附件
🔄 流量管理
- 列出所有可用的流程
- 为特定联系人启动流量
- 将自定义变量传递给流程
⚡ 触发管理
- 列出所有触发器
- 创建基于关键词的触发器
- 将触发器连接到流程
💬 在线聊天
- 访问聊天记录
- 检索聊天消息
- 按状态过滤聊天
🏷️ 额外功能
- 模板管理
- 标签操作
- 变量管理
- 全面的错误处理
- 自动令牌刷新
安装
快速安装(推荐)
最简单的安装方法是使用自动化安装脚本:
macOS
git clone https://github.com/yourusername/sendpulse-mcp.git
cd sendpulse-mcp
./install-mac.shWindows
git clone https://github.com/yourusername/sendpulse-mcp.git
cd sendpulse-mcp
install-windows.batLinux或跨平台
git clone https://github.com/yourusername/sendpulse-mcp.git
cd sendpulse-mcp
node configure.js安装脚本将:
- ✅ 检查 Node.js 安装
- ✅ 安装npm依赖项
- ✅ 设置您的API凭据
- ✅ 自动配置Claude桌面版
- ✅ 测试服务器连接
手动安装
- 克隆仓库:
git clone https://github.com/yourusername/sendpulse-mcp.git
cd sendpulse-mcp- 安装依赖项:
npm install- 设置环境变量:
cp .env.example .env- 编辑
.env请提供包含您SendPulse API凭证的文件:
SENDPULSE_API_ID=your_api_id_here
SENDPULSE_API_SECRET=your_api_secret_here要获取您的API凭据:
- 登录您的SendPulse账户
- 进入账户设置 → API 选项卡
- 启用REST API
- 复制您的API ID和密钥
验证安装
运行验证脚本以确保一切设置正确:
node verify-installation.js卸载
从Claude Desktop中移除MCP服务器:
node uninstall.js使用方法
启动服务器
运行MCP服务器:
npm start对于带自动重载功能的开发:
npm run dev认证方法
此MCP服务器支持两种认证方法:
1. 环境变量(默认)
在您的环境或Claude Desktop配置中设置凭据:
SENDPULSE_API_ID=your_api_id_here
SENDPULSE_API_SECRET=your_api_secret_here2. 运行时配置(新增!)
在运行时配置凭据使用 configure_auth 工具。这在以下情况下很有用:
- 您想在多个SendPulse账户之间切换
- 需要动态提供凭证
- 你更倾向于不在环境变量中存储凭据
配置认证(或设置认证) 在运行时配置API凭据
{
"api_id": "your_api_id_here",
"api_secret": "your_api_secret_here"
}服务器将立即验证凭据,并在后续所有API调用中使用它们。这将覆盖任何环境变量。
优先权运行时凭据(通过 configure_auth) 优先于环境变量。
可用工具
机器人管理
获取机器人 - 获取WhatsApp机器人的列表
{
"limit": 100,
"offset": 0
}获取机器人(或:获取bot) - 获取有关特定机器人的信息
{
"bot_id": "bot_123"
}联系人管理
获取联系人 - 获取联系人列表
{
"bot_id": "bot_123",
"limit": 100,
"offset": 0
}创建联系人 - 创建一个新的联系人
{
"bot_id": "bot_123",
"phone": "+1234567890",
"name": "John Doe",
"tags": ["customer", "vip"],
"variables": {
"city": "New York",
"subscription": "premium"
}
}更新联系人 - 更新现有联系人
{
"bot_id": "bot_123",
"contact_id": "contact_456",
"name": "John Smith",
"tags": ["updated"],
"variables": {
"status": "active"
}
}删除联系人 - 删除一个联系人
{
"bot_id": "bot_123",
"contact_id": "contact_456"
}消息传递
发送消息 - 向WhatsApp发送消息
{
"bot_id": "bot_123",
"phone": "+1234567890",
"text": "Hello! This is a test message.",
"buttons": [
{
"text": "Option 1",
"callback_data": "option_1"
},
{
"text": "Option 2",
"callback_data": "option_2"
}
]
}发送模板消息 - 发送模板消息
{
"bot_id": "bot_123",
"phone": "+1234567890",
"template_id": "template_789",
"language_code": "en",
"parameters": ["John", "Order #123"]
}流量管理
获取流(或流量) - 获取流量列表
{
"bot_id": "bot_123"
}启动流程 - 启动一个联系流程
{
"bot_id": "bot_123",
"flow_id": "flow_456",
"phone": "+1234567890",
"variables": {
"source": "api",
"campaign": "summer2024"
}
}触发管理
获取触发器 - 获取触发器列表
{
"bot_id": "bot_123"
}创建触发器 - 创建一个新的触发器
{
"bot_id": "bot_123",
"name": "Welcome Trigger",
"type": "keyword",
"flow_id": "flow_456",
"keywords": ["start", "hello", "hi"]
}在线聊天
获取聊天记录 - 获取聊天列表
{
"bot_id": "bot_123",
"status": "open",
"limit": 50,
"offset": 0
}获取聊天消息 - 从聊天中获取消息
{
"bot_id": "bot_123",
"chat_id": "chat_789",
"limit": 100,
"offset": 0
}附加工具
获取模板 - 获取消息模板
{
"bot_id": "bot_123"
}添加标签 - 为联系人添加标签
{
"bot_id": "bot_123",
"contact_id": "contact_456",
"tag": "premium"
}移除标签 - 从联系人中移除标签
{
"bot_id": "bot_123",
"contact_id": "contact_456",
"tag": "trial"
}设置变量 - 设置联系变量
{
"bot_id": "bot_123",
"contact_id": "contact_456",
"variable_name": "last_purchase",
"variable_value": "2024-01-15"
}短信管理
创建短信营销活动 - 创建并发送短信营销活动
{
"sender": "MyCompany",
"text": "Hello! Special offer for you: 50% off. Reply STOP to unsubscribe.",
"phones": ["+1234567890", "+0987654321"],
"list_id": 123,
"track_links": true,
"send_date": "2024-01-15 14:30:00",
"test": false
}向手机发送短信 - 向特定电话号码发送短信
{
"sender": "MyCompany",
"text": "Your order #123 has been shipped!",
"phones": ["+1234567890"],
"route": "premium",
"track_links": false
}添加短信联系人 - 将电话号码添加到短信邮件列表中
{
"list_id": 123,
"phones": [
{
"phone": "+1234567890",
"variables": {
"name": "John",
"city": "New York"
}
}
]
}更新短信联系人 - 更新短信联系信息
{
"list_id": 123,
"old_phone": "+1234567890",
"new_phone": "+1234567891",
"variables": {
"name": "John Smith",
"status": "active"
}
}删除短信联系人 - 从短信列表中移除联系人
{
"list_id": 123,
"phone": "+1234567890"
}获取短信活动列表 - 按日期范围获取短信营销活动
{
"start_date": "2024-01-01",
"end_date": "2024-01-31"
}获取短信活动信息 - 获取特定的短信活动详情
{
"campaign_id": 456
}取消短信营销活动 - 取消已安排的短信营销活动
{
"campaign_id": 456
}计算短信费用 - 计算短信营销活动的成本
{
"text": "Your message text here",
"phones": ["+1234567890", "+0987654321"],
"route": "premium"
}获取短信电话信息 - 获取电话号码信息
{
"phone": "+1234567890"
}添加到短信黑名单 - 将号码添加到短信黑名单
{
"phones": ["+1234567890"],
"comment": "User requested removal"
}从短信黑名单中移除 - 从短信黑名单中移除号码
{
"phones": ["+1234567890"]
}与Claude桌面版的集成
要在Claude Desktop中使用此MCP服务器,请将以下配置添加到您的Claude Desktop配置文件中:
macOS(苹果电脑操作系统)
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"sendpulse": {
"command": "node",
"args": ["/path/to/sendpulse-mcp/index.js"],
"env": {
"SENDPULSE_API_ID": "your_api_id",
"SENDPULSE_API_SECRET": "your_api_secret"
}
}
}
}Windows
编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"sendpulse": {
"command": "node",
"args": ["C:\\path\\to\\sendpulse-mcp\\index.js"],
"env": {
"SENDPULSE_API_ID": "your_api_id",
"SENDPULSE_API_SECRET": "your_api_secret"
}
}
}
}API速率限制
SendPulse API的速率限制如下:
- 免费计划每分钟1,000个请求,每天500,000个请求
- 标准计划每分钟2000个请求,每天100万个请求
- 企业计划每分钟3000个请求,每天300万个请求
服务器会自动处理速率限制,并在必要时重试请求。
错误处理
服务器包含全面的错误处理机制:
- 令牌过期时自动刷新
- 用于调试的详细错误信息
- 优雅地处理API错误
- 请求对瞬时故障进行重试逻辑
安全
- 永远不要将你的(秘密/事情)透露出去
.env文件 - 保护好您的API凭证
- 对敏感数据使用环境变量
- 定期更换您的API凭证
故障排除
认证问题
- 确保您的API凭据正确无误
- 检查您的SendPulse帐户中是否已启用REST API
- 确认您的账户可以访问WhatsApp和短信功能
连接问题
- 检查您的网络连接
- 验证SendPulse API是否可访问
- 检查是否有任何防火墙或代理限制
缺失的功能
- 某些终端点可能需要特定的SendPulse计划功能
- 请验证您的账户是否已访问WhatsApp机器人API和短信功能
- 查阅SendPulse文档以了解功能可用性
做出贡献
欢迎贡献!请随时提交拉取请求。
许可证
此项目采用MIT许可证授权 - 详情请参阅LICENSE文件。
支持
对于以下相关问题:
- 这个MCP服务器在GitHub上提交一个议题
- SendPulse API联系SendPulse客服支持
- MCP协议参阅MCP文档
免责声明
这是一个非官方的集成,与SendPulse无关,也未得到其认可。
