MCP
engagelab-sms-mcp es un servidor MCP (Model Context Protocol) que permite a los asistentes de IA enviar mensajes SMS a través de la plataforma EngageLab. Una vez añadido a un cliente compatible con MCP (como Cursor, Claude Desktop, etc.), la IA puede enviar SMS basados en plantillas en su nombre.
Requisitos previos
- Node.js 18+
- Una cuenta EngageLab con credenciales de la API SMS (
dev_keyydev_secret) - Al menos una plantilla SMS aprobada
Consejo: Las credenciales de la API se pueden crear y gestionar en la página Claves API de la consola EngageLab.
Configuración
Cursor
Vaya a Configuración > MCP, pulse Añadir nuevo servidor MCP y pegue 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>"
}
}
}
}
Sustituya <your_dev_key> y <your_dev_secret> por las credenciales reales obtenidas en la consola EngageLab.
Claude Desktop
Abra Configuración > Desarrollador > Editar configuración y añada lo siguiente a 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 transporte stdio puede usar este servidor. Establezca el comando en npx -y engagelab-sms-mcp y pase las variables de entorno necesarias.
Herramientas disponibles
send_sms
Envía mensajes SMS a través de EngageLab usando una plantilla preaprobada.
Parámetros de la solicitud:
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| to | string[] | Sí | Lista de números de teléfono de destino (se recomienda formato internacional, p. ej. +8618700001111) |
| template.id | string | Sí | ID de plantilla SMS EngageLab aprobada |
| template.params | object | Sí | Valores de variables de la plantilla, p. ej. {"code": "123456"} |
Ejemplo de solicitud:
{
"to": ["+8618700001111"],
"template": {
"id": "your-template-id",
"params": {
"code": "123456"
}
}
}
Parámetros de la respuesta:
| Campo | Tipo | Descripción |
|---|---|---|
| success | boolean | Si la solicitud fue aceptada |
| plan_id | string | ID del plan EngageLab para seguimiento |
| total_count | number | Número total de destinatarios enviados |
| accepted_count | number | Número de destinatarios aceptados para entrega |
| message_id | string | Identificador del mensaje (si está disponible) |
| message | string | Descripción del estado o del error |
| code | number | Código de respuesta EngageLab (0 = éxito) |
Variables de entorno
| Variable | Obligatorio | Valor predeterminado | Descripción |
|---|---|---|---|
| ENGAGELAB_DEV_KEY | Sí | — | Clave dev de EngageLab |
| ENGAGELAB_DEV_SECRET | Sí | — | Secreto dev 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 en milisegundos |
| ENGAGELAB_MAX_RETRIES | No | 1 |
Número máximo de reintentos ante fallos |
Solución de problemas
El servidor no arranca con «Missing required environment variable»
- Asegúrese de que
ENGAGELAB_DEV_KEYyENGAGELAB_DEV_SECRETestén correctamente definidos en el bloqueenvde la configuración de su cliente MCP.
send_sms devuelve el código de error 3002 («invalid template id format»)
- Compruebe que el ID de la plantilla coincida con una plantilla aprobada en la consola EngageLab.
send_sms devuelve errores de parámetros de plantilla
- Confirme que las claves en
template.paramscoincidan exactamente con los nombres de variable definidos en su plantilla EngageLab.
No se recibe el SMS
- Use formato internacional de número de teléfono (p. ej.
+8618700001111). - Confirme que la plantilla esté aprobada y no suspendida.
