MCP
engagelab-sms-mcp は、AI アシスタントが EngageLab プラットフォーム経由で SMS を送信できるようにする MCP(Model Context Protocol)サーバーです。MCP 対応クライアント(Cursor、Claude Desktop など)に追加すると、AI が代理でテンプレートベースの SMS を送信できます。
前提条件
- Node.js 18 以上
- EngageLab アカウントと SMS API 認証情報(
dev_keyおよびdev_secret) - 承認済みの SMS テンプレートが少なくとも 1 件あること
ヒント: 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 経由で SMS を送信します。
リクエストパラメーター:
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| to | string[] | はい | 宛先電話番号のリスト(国際形式を推奨。例: +8618700001111) |
| template.id | string | はい | 承認済み EngageLab SMS テンプレート 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 テンプレートで定義した変数名と完全に一致しているか確認してください。
SMS が届かない
- 電話番号は国際形式(例:
+8618700001111)を使用してください。 - テンプレートが承認済みで、停止されていないことを確認してください。
