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 Key 頁面建立和管理。
設定方法
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[] | 是 | 目標手機號碼列表,建議使用國際格式(如 +6581234567) |
| template.id | string | 是 | 已審核通過的 EngageLab 簡訊範本 ID |
| template.params | object | 是 | 範本變數值,如 {"code": "123456"} |
請求範例:
{
"to": ["+6581234567"],
"template": {
"id": "your-template-id",
"params": {
"code": "123456"
}
}
}
{
"to": ["+6581234567"],
"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 範本中定義的變數名稱完全相符。
簡訊未收到
- 請使用國際電話號碼格式(如
+6581234567)。 - 確認範本已審核通過且未被停用。










