MCP
engagelab-sms-mcp is an MCP (Model Context Protocol) server that enables AI assistants to send SMS via the EngageLab platform. By adding this server to MCP-supported clients (like Cursor, Claude Desktop, etc.), the AI can execute template-based SMS sending operations on your behalf.
Prerequisites
- Node.js 18+
- Have an EngageLab account and have acquired SMS API credentials (
dev_keyanddev_secret) - At least one approved SMS template
Tip: API credentials can be created and managed on the API Key page in the EngageLab console.
Configuration Method
Cursor
Go to Settings > MCP, click Add new MCP server, and paste the following configuration:
{
"mcpServers": {
"engagelab-sms": {
"command": "npx",
"args": ["-y", "engagelab-sms-mcp"],
"env": {
"ENGAGELAB_DEV_KEY": "<your_dev_key>",
"ENGAGELAB_DEV_SECRET": "<your_dev_secret>"
}
}
}
}
Replace <your_dev_key> and <your_dev_secret> with the actual credentials obtained from your EngageLab console.
Claude Desktop
Open Settings > Developer > Edit Config, and add to mcpServers:
{
"mcpServers": {
"engagelab-sms": {
"command": "npx",
"args": ["-y", "engagelab-sms-mcp"],
"env": {
"ENGAGELAB_DEV_KEY": "<your_dev_key>",
"ENGAGELAB_DEV_SECRET": "<your_dev_secret>"
}
}
}
}
Other MCP Clients
Any MCP client supporting stdio transport can use this server. Set the startup command to npx -y engagelab-sms-mcp and pass the required environment variables.
Available Tools
send_sms
Send an SMS using a pre-approved template via EngageLab.
Request Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
| to | string[] | Yes | List of target phone numbers, international format recommended (e.g., +6581234567) |
| template.id | string | Yes | Approved EngageLab SMS template ID |
| template.params | object | Yes | Template variable values, e.g., {"code": "123456"} |
Request Example:
{
"to": ["+6581234567"],
"template": {
"id": "your-template-id",
"params": {
"code": "123456"
}
}
}
Response Parameters:
| Field | Type | Description |
|---|---|---|
| success | boolean | Whether the request was accepted |
| plan_id | string | EngageLab plan ID, used for tracking |
| total_count | number | Total number of recipients submitted |
| accepted_count | number | Number of recipients accepted for delivery |
| message_id | string | Message identifier (if available) |
| message | string | Status or error description |
| code | number | EngageLab response code (0 means success) |
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
| ENGAGELAB_DEV_KEY | Yes | — | EngageLab dev key |
| ENGAGELAB_DEV_SECRET | Yes | — | EngageLab dev secret |
| ENGAGELAB_BASE_URL | No | https://smsapi.engagelab.com |
Base API URL |
| ENGAGELAB_REQUEST_TIMEOUT_MS | No | 10000 |
Request timeout (ms) |
| ENGAGELAB_MAX_RETRIES | No | 1 |
Max retries for failures |
Frequently Asked Questions
Server fails to start, displaying "Missing required environment variable"
- Ensure you have correctly filled out
ENGAGELAB_DEV_KEYandENGAGELAB_DEV_SECRETin theenvconfiguration of your MCP client.
send_sms returns error code 3002 ("invalid template id format")
- Verify that the template ID perfectly matches an approved template ID in your EngageLab console.
send_sms returns template parameter-related errors
- Ensure the key names within
template.paramsstrictly match the variable names defined in your EngageLab template.
SMS not received
- Ensure you're using international phone number formats (e.g.,
+6581234567). - Confirm that your template is approved and has not been disabled.










