MCP
engagelab-sms-mcp es un servidor MCP (Model Context Protocol) que permite a los asistentes de IA enviar SMS a través de la plataforma EngageLab. Tras añadir este servidor a un cliente compatible con MCP (como Cursor, Claude Desktop, etc.), la IA podrá realizar por ti operaciones de envío de SMS basadas en plantillas.
Requisitos previos
- Node.js 18+
- Tener una cuenta de EngageLab y haber obtenido las credenciales de la API de SMS (
dev_keyydev_secret) - Tener al menos una plantilla de SMS aprobada
Sugerencia: las credenciales de la API se pueden crear y gestionar en la página de API Key de la consola de EngageLab.
Métodos de configuración
Cursor
Ve a Settings > MCP, haz clic en Add new MCP server y pega la siguiente configuración:
{
"mcpServers": {
"engagelab-sms": {
"command": "npx",
"args": ["-y", "engagelab-sms-mcp"],
"env": {
"ENGAGELAB_DEV_KEY": "<your_dev_key>",
"ENGAGELAB_DEV_SECRET": "<your_dev_secret>"
}
}
}
}
Reemplaza <your_dev_key> y <your_dev_secret> por las credenciales reales que obtuviste en la consola de EngageLab.
Claude Desktop
Abre Settings > Developer > Edit Config y añade en mcpServers:
{
"mcpServers": {
"engagelab-sms": {
"command": "npx",
"args": ["-y", "engagelab-sms-mcp"],
"env": {
"ENGAGELAB_DEV_KEY": "<your_dev_key>",
"ENGAGELAB_DEV_SECRET": "<your_dev_secret>"
}
}
}
}
Otros clientes MCP
Cualquier cliente MCP que admita el transporte stdio puede usar este servidor. Configura el comando de inicio como npx -y engagelab-sms-mcp y pasa las variables de entorno necesarias.
Herramientas disponibles
send_sms
Envía SMS a través de EngageLab usando plantillas previamente aprobadas.
Parámetros de la solicitud:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| to | string[] | Sí | Lista de números de móvil de destino; se recomienda usar el formato internacional (como +6581234567) |
| template.id | string | Sí | ID de una plantilla de SMS de EngageLab aprobada |
| template.params | object | Sí | Valores de las variables de la plantilla, como {"code": "123456"} |
Ejemplo de solicitud:
{
"to": ["+6581234567"],
"template": {
"id": "your-template-id",
"params": {
"code": "123456"
}
}
}
Parámetros de respuesta:
| Campo | Tipo | Descripción |
|---|---|---|
| success | boolean | Si la solicitud fue aceptada |
| plan_id | string | ID de plan de EngageLab, usado para el seguimiento |
| total_count | number | Número total de destinatarios enviados |
| accepted_count | number | Número de destinatarios aceptados para la entrega |
| message_id | string | Identificador del mensaje (si existe) |
| message | string | Descripción del estado o del error |
| code | number | Código de respuesta de EngageLab (0 indica éxito) |
Variables de entorno
| Variable | Obligatorio | Valor por defecto | Descripción |
|---|---|---|---|
| ENGAGELAB_DEV_KEY | Sí | — | dev key de EngageLab |
| ENGAGELAB_DEV_SECRET | Sí | — | dev secret de EngageLab |
| ENGAGELAB_BASE_URL | No | https://smsapi.engagelab.com |
URL base de la API |
| ENGAGELAB_REQUEST_TIMEOUT_MS | No | 10000 |
Tiempo de espera de la solicitud (milisegundos) |
| ENGAGELAB_MAX_RETRIES | No | 1 |
Número máximo de reintentos tras un fallo |
Preguntas frecuentes
El servidor no arranca y muestra "Missing required environment variable"
- Comprueba que has rellenado correctamente
ENGAGELAB_DEV_KEYyENGAGELAB_DEV_SECRETen la secciónenvde la configuración del cliente MCP.
send_sms devuelve el código de error 3002 ("invalid template id format")
- Verifica que el ID de la plantilla coincide con una plantilla aprobada en la consola de EngageLab.
send_sms devuelve un error relacionado con los parámetros de la plantilla
- Confirma que los nombres de las claves en
template.paramscoinciden exactamente con los nombres de las variables definidas en la plantilla de EngageLab.
No se recibe el SMS
- Usa el formato internacional del número de teléfono (como
+6581234567). - Confirma que la plantilla está aprobada y no ha sido desactivada.










