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 Keys 頁面建立與管理。
設定方式
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)。 - 確認範本已審核通過且未被停用。
