MCP
engagelab-sms-mcp 是一个 MCP(Model Context Protocol)服务器,使 AI 助手能够通过 EngageLab 平台发送短信。将该服务器添加到支持 MCP 的客户端(如 Cursor、Claude Desktop 等)后,AI 即可代替您完成基于模板的短信发送操作。
前置条件
- Node.js 18+
- 拥有 EngageLab 账号,并已获取 SMS API 凭证(
dev_key和dev_secret) - 至少有一个已审核通过的短信模板
提示: API 凭证可在 EngageLab 控制台的 API 密钥 页面创建和管理。
配置方法
Cursor
进入 Settings > MCP,点击 Add new MCP server,粘贴以下配置:
{
"mcpServers": {
"engagelab-sms": {
"command": "npx",
"args": ["-y", "engagelab-sms-mcp"],
"env": {
"ENGAGELAB_DEV_KEY": "<your_dev_key>",
"ENGAGELAB_DEV_SECRET": "<your_dev_secret>"
}
}
}
}
{
"mcpServers": {
"engagelab-sms": {
"command": "npx",
"args": ["-y", "engagelab-sms-mcp"],
"env": {
"ENGAGELAB_DEV_KEY": "<your_dev_key>",
"ENGAGELAB_DEV_SECRET": "<your_dev_secret>"
}
}
}
}
此代码块在浮窗中显示
将 <your_dev_key> 和 <your_dev_secret> 替换为您在 EngageLab 控制台获取的实际凭证。
Claude Desktop
打开 Settings > Developer > Edit Config,在 mcpServers 中添加:
{
"mcpServers": {
"engagelab-sms": {
"command": "npx",
"args": ["-y", "engagelab-sms-mcp"],
"env": {
"ENGAGELAB_DEV_KEY": "<your_dev_key>",
"ENGAGELAB_DEV_SECRET": "<your_dev_secret>"
}
}
}
}
{
"mcpServers": {
"engagelab-sms": {
"command": "npx",
"args": ["-y", "engagelab-sms-mcp"],
"env": {
"ENGAGELAB_DEV_KEY": "<your_dev_key>",
"ENGAGELAB_DEV_SECRET": "<your_dev_secret>"
}
}
}
}
此代码块在浮窗中显示
其他 MCP 客户端
任何支持 stdio 传输方式的 MCP 客户端都可以使用该服务器。将启动命令设置为 npx -y engagelab-sms-mcp,并传入所需的环境变量即可。
可用工具
send_sms
通过 EngageLab 使用预审核模板发送短信。
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| to | string[] | 是 | 目标手机号列表,建议使用国际格式(如 +8618700001111) |
| template.id | string | 是 | 已审核通过的 EngageLab 短信模板 ID |
| template.params | object | 是 | 模板变量值,如 {"code": "123456"} |
请求示例:
{
"to": ["+8618700001111"],
"template": {
"id": "your-template-id",
"params": {
"code": "123456"
}
}
}
{
"to": ["+8618700001111"],
"template": {
"id": "your-template-id",
"params": {
"code": "123456"
}
}
}
此代码块在浮窗中显示
返回参数:
| 字段 | 类型 | 说明 |
|---|---|---|
| success | boolean | 请求是否被接受 |
| plan_id | string | EngageLab 计划 ID,用于追踪 |
| total_count | number | 提交的收件人总数 |
| accepted_count | number | 已被接受投递的收件人数 |
| message_id | string | 消息标识符(如有) |
| message | string | 状态或错误描述 |
| code | number | EngageLab 响应码(0 表示成功) |
环境变量
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| ENGAGELAB_DEV_KEY | 是 | — | EngageLab dev key |
| ENGAGELAB_DEV_SECRET | 是 | — | EngageLab dev secret |
| ENGAGELAB_BASE_URL | 否 | https://smsapi.engagelab.com |
API 基础 URL |
| ENGAGELAB_REQUEST_TIMEOUT_MS | 否 | 10000 |
请求超时时间(毫秒) |
| ENGAGELAB_MAX_RETRIES | 否 | 1 |
失败重试最大次数 |
常见问题
服务器启动失败,提示 "Missing required environment variable"
- 请确认在 MCP 客户端配置的
env中正确填写了ENGAGELAB_DEV_KEY和ENGAGELAB_DEV_SECRET。
send_sms 返回错误码 3002("invalid template id format")
- 请检查模板 ID 是否与 EngageLab 控制台中已审核通过的模板一致。
send_sms 返回模板参数相关错误
- 请确认
template.params中的键名与 EngageLab 模板中定义的变量名完全匹配。
短信未收到
- 请使用国际电话号码格式(如
+8618700001111)。 - 确认模板已审核通过且未被停用。
