Logo Site EngageLab Mark Colored TransparentDocument
Search

MCP

engagelab-sms-mcp is an MCP (Model Context Protocol) server that enables AI assistants to send SMS messages through the EngageLab platform. Once added to an MCP-compatible client (such as Cursor, Claude Desktop, etc.), the AI can send template-based SMS messages on your behalf.

Prerequisites

  • Node.js 18+
  • An EngageLab account with SMS API credentials (dev_key and dev_secret)
  • At least one approved SMS template

Tip: API credentials can be created and managed on the API Keys page in the EngageLab console.

Configuration

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>" } } } }
              
              {
  "mcpServers": {
    "engagelab-sms": {
      "command": "npx",
      "args": ["-y", "engagelab-sms-mcp"],
      "env": {
        "ENGAGELAB_DEV_KEY": "<your_dev_key>",
        "ENGAGELAB_DEV_SECRET": "<your_dev_secret>"
      }
    }
  }
}

            
This code block in the floating window

Replace <your_dev_key> and <your_dev_secret> with the actual credentials obtained from the EngageLab console.

Claude Desktop

Open Settings > Developer > Edit Config and add the following 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>" } } } }
              
              {
  "mcpServers": {
    "engagelab-sms": {
      "command": "npx",
      "args": ["-y", "engagelab-sms-mcp"],
      "env": {
        "ENGAGELAB_DEV_KEY": "<your_dev_key>",
        "ENGAGELAB_DEV_SECRET": "<your_dev_secret>"
      }
    }
  }
}

            
This code block in the floating window

Other MCP Clients

Any MCP client that supports stdio transport can use this server. Set the command to npx -y engagelab-sms-mcp and pass the required environment variables.

Available Tools

send_sms

Send SMS messages through EngageLab using a pre-approved template.

Request Parameters:

Field Type Required Description
to string[] Yes List of target phone numbers (international format recommended, e.g. +8618700001111)
template.id string Yes Approved EngageLab SMS template ID
template.params object Yes Template variable values, e.g. {"code": "123456"}

Request Example:

{ "to": ["+8618700001111"], "template": { "id": "your-template-id", "params": { "code": "123456" } } }
              
              {
  "to": ["+8618700001111"],
  "template": {
    "id": "your-template-id",
    "params": {
      "code": "123456"
    }
  }
}

            
This code block in the floating window

Response Parameters:

Field Type Description
success boolean Whether the request was accepted
plan_id string EngageLab plan ID 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 = 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 API base URL
ENGAGELAB_REQUEST_TIMEOUT_MS No 10000 Request timeout in milliseconds
ENGAGELAB_MAX_RETRIES No 1 Max retry attempts for failures

Troubleshooting

Server fails to start with "Missing required environment variable"

  • Ensure both ENGAGELAB_DEV_KEY and ENGAGELAB_DEV_SECRET are correctly set in the env block of your MCP client configuration.

send_sms returns error code 3002 ("invalid template id format")

  • Verify that the template ID matches an approved template in the EngageLab console.

send_sms returns template parameter errors

  • Confirm that the keys in template.params exactly match the variable names defined in your EngageLab template.

SMS not received

  • Use international phone number format (e.g. +8618700001111).
  • Confirm the template is approved and not suspended.
Icon Solid Transparent White Qiyu
Contact Sales