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 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_key and dev_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>" } } } }
              
              {
  "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 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>" } } } }
              
              {
  "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 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" } } }
              
              {
  "to": ["+6581234567"],
  "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, 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_KEY and ENGAGELAB_DEV_SECRET in the env configuration 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.params strictly 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.
Icon Solid Transparent White Qiyu
Contact Sales