Skip to main content
Glama
SMS Masivos MCP Server

SMS Masivos MCP Server

Official
by SMS-Masivos

@smsmasivos/mcp-server

npm version License: MIT

MCP server para SMS Masivos — plataforma de envio de SMS masivos en Mexico.

Conecta tu asistente de IA con SMS Masivos para enviar mensajes, gestionar contactos, verificar numeros y consultar campanas usando lenguaje natural.

Features

  • 30 tools — SMS, campanas, contactos, agendas CRUD, webhooks, reports, payment requests, verificacion OTP v2 (send/verify/status/delete), lealtad, monederos y metricas

  • FAQ integrado — 6 recursos de ayuda accesibles desde tu asistente

  • Prompts guiados — 4 flujos paso a paso para tareas comunes

  • Telemetria — metricas de uso por sesion (latencia, errores, sandbox vs produccion)

  • Sandbox — prueba sin enviar mensajes reales ni gastar creditos

  • Compatible — funciona con Claude, Cursor, Windsurf y cualquier cliente MCP

Related MCP server: ReadySMS MCP Server

Quick Start

Necesitas una API key de SMS Masivos. Obtenla en tu panel.

Opcion 1: Remoto (recomendado — sin instalar nada)

Agrega esta configuracion a tu herramienta de IA y listo:

{
  "mcpServers": {
    "smsmasivos": {
      "type": "http",
      "url": "https://mcp.smsmasivos.com.mx/mcp",
      "headers": {
        "Authorization": "Bearer tu-api-key"
      }
    }
  }
}

Opcion 2: Local (requiere Node.js)

npx @smsmasivos/mcp-server
{
  "mcpServers": {
    "smsmasivos": {
      "command": "npx",
      "args": ["-y", "@smsmasivos/mcp-server"],
      "env": {
        "SMSMASIVOS_API_KEY": "tu-api-key"
      }
    }
  }
}

Configuracion por herramienta

Claude Desktop

Agrega a tu archivo de configuracion:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Remoto (recomendado):

{
  "mcpServers": {
    "smsmasivos": {
      "type": "http",
      "url": "https://mcp.smsmasivos.com.mx/mcp",
      "headers": {
        "Authorization": "Bearer tu-api-key"
      }
    }
  }
}

Local:

{
  "mcpServers": {
    "smsmasivos": {
      "command": "npx",
      "args": ["-y", "@smsmasivos/mcp-server"],
      "env": {
        "SMSMASIVOS_API_KEY": "tu-api-key"
      }
    }
  }
}

Claude Code

Remoto (recomendado):

claude mcp add smsmasivos --transport http https://mcp.smsmasivos.com.mx/mcp -H "Authorization: Bearer tu-api-key"

Local:

claude mcp add smsmasivos -e SMSMASIVOS_API_KEY=tu-api-key -- npx -y @smsmasivos/mcp-server

Cursor

Agrega a .cursor/mcp.json en tu proyecto:

Remoto (recomendado):

{
  "mcpServers": {
    "smsmasivos": {
      "type": "http",
      "url": "https://mcp.smsmasivos.com.mx/mcp",
      "headers": {
        "Authorization": "Bearer tu-api-key"
      }
    }
  }
}

Local:

{
  "mcpServers": {
    "smsmasivos": {
      "command": "npx",
      "args": ["-y", "@smsmasivos/mcp-server"],
      "env": {
        "SMSMASIVOS_API_KEY": "tu-api-key"
      }
    }
  }
}

Windsurf

Agrega a ~/.codeium/windsurf/mcp_config.json — misma configuracion que Cursor (remoto o local).

Tools disponibles

SMS y campanas

Tool

Descripcion

check_balance

Consulta creditos SMS disponibles

send_sms

Envia SMS a uno o varios numeros (max 500)

list_campaigns

Lista campanas con filtros por fecha

get_campaign_stats

Estadisticas de entrega de una campana

Contactos y agendas

Tool

Descripcion

list_agendas

Lista agendas de contactos

find_agenda

Busca agendas por nombre (parcial). Paginado por página: page (default 1), limit (default 20, max 100). Si la respuesta indica has_more, vuelve a invocar con el next_page sugerido

create_agenda

Crea una nueva agenda

rename_agenda

Cambia el nombre de una agenda

delete_agenda

Elimina una agenda y sus contactos (DESTRUCTIVO)

get_contacts

Obtiene contactos de una agenda

add_contact

Agrega contacto a una agenda

update_contact

Actualiza datos de un contacto existente

duplicate_contact

Copia un contacto entre agendas

delete_contact

Elimina un contacto de una agenda

Verificacion OTP

Tool

Descripcion

send_otp

Genera y envia el codigo OTP (SMS, voz o WhatsApp). Repetir la llamada lo reenvia (cooldown 30s); con otro channel sale por el canal nuevo; code_rotate: true genera uno nuevo

verify_otp

Verifica el codigo OTP que ingreso el usuario (code)

get_otp_status

Consulta el estado de la verificacion sin efectos (read-only)

delete_otp

Invalida la verificacion activa (no envia nada)

Programa de lealtad

Tool

Descripcion

list_loyalty_cards

Lista tarjetas de lealtad de tu cuenta

add_loyalty_contact

Agrega contacto a una tarjeta de lealtad

get_loyalty_contact

Consulta sellos y canjes de un contacto

ℹ️ register_loyalty_sale no está disponible en esta versión. Para registrar ventas de lealtad, usa el panel web.

Monedero electronico

Tool

Descripcion

list_wallets

Lista monederos de tu cuenta

add_wallet_contact

Agrega contacto a un monedero

get_wallet_contact

Consulta saldo de un contacto

update_wallet_balance

Agrega o resta saldo a un contacto

Webhooks

Tool

Descripcion

manage_webhook

Gestiona el webhook de la cuenta. Acciones: list, add, toggle, delete. URLs https obligatorias.

manage_webhook consolida las 4 operaciones en una sola tool vía el campo action:

action

Parámetros

Efecto

list

—

Devuelve el webhook configurado y su estado

add

url (https), status ("1"/"0")

Registra o reemplaza el webhook

toggle

status ("1"/"0")

Activa/desactiva sin cambiar la URL

delete

—

Elimina el webhook (DESTRUCTIVO)

Solo se permite un webhook por cuenta. Las URLs deben ser https://; se rechazan IPs privadas, loopback e IPv6 link-local.

Reports

Tool

Descripcion

generate_report

Reporte detallado por rango de fechas (max 7 dias). Si la respuesta indica que el reporte está incompleto y necesitas la página siguiente, vuelve a invocar con las mismas fechas, el mismo sandbox y el cursor sugerido (cada página cuenta como una de las 10 consultas de reporte del día de la cuenta)

get_report_details

Agregados rapidos (entregados/fallidos/efectividad) por campaign_id

Solicitudes de pago

Tool

Descripcion

send_payment_request

Envia solicitud de pago a un cliente via SMS usando un template configurado

Utilidades

Tool

Descripcion

get_metrics

Metricas de uso de la sesion (latencia, errores, sandbox vs prod)

FAQ Resources

El servidor incluye 6 recursos de ayuda accesibles via MCP resources:

Resource

Descripcion

getting-started

Como obtener tu API key y configurar el server

common-errors

Errores frecuentes y como solucionarlos

limits-and-pricing

Limites de la API y precios

sandbox-mode

Como usar el modo sandbox para pruebas

tool-examples

Ejemplos de uso de cada tool

v1-changes

Cambios breaking y tools nuevas en v1.0.0

Prompts guiados

Flujos paso a paso que tu asistente puede ejecutar:

Prompt

Descripcion

enviar-campana

Verificar saldo, enviar SMS y consultar estadisticas

consultar-lealtad

Listar tarjetas y consultar sellos de clientes

gestionar-contactos

Ver agendas, contactos y agregar nuevos

verificar-numero

Enviar codigo OTP y validarlo

Ejemplos

Una vez configurado, puedes pedirle a tu asistente:

  • "Cuantos creditos me quedan?"

  • "Envia un SMS al 5512345678 con el texto: Tu cita es manana a las 10am"

  • "Muestrame mis ultimas campanas"

  • "Como fue la entrega de la campana 12345?"

  • "Verifica el numero 5598765432 por WhatsApp"

  • "Agrega a Juan (5512345678) a mi agenda de recordatorios"

  • "Muestrame mis tarjetas de lealtad"

  • "Cuantos sellos tiene el cliente 5512345678?"

  • "Agrega $50 al monedero del cliente 5598765432"

Desarrollo

git clone https://github.com/SMS-Masivos/mcp-server.git
cd mcp-server
npm install
npm run build
npm test

Publicación (mantenedores)

La publicación a npm es manual (npm publish, requiere permisos de mantenedor).

Licencia

MIT

Available Tools

30 tools
add_contactA

Agrega un nuevo contacto a una agenda existente en SMS Masivos. Requiere el list_key de la agenda y el número de teléfono. Si el número ya existe en la agenda, se actualiza.

Inputs: list_key (required), number (required), name, email, +6 more.

add_loyalty_contactC

Agrega un contacto a una tarjeta de lealtad. Requiere loyalty_key y número de teléfono del cliente.

Inputs: loyalty_key (required), phone (required), customer_name (required).

add_wallet_contactB

Agrega un contacto a un monedero electrónico. Requiere wallet_key, teléfono, nombre del cliente y usertool_id (obtenlo de list_wallets).

Inputs: wallet_key (required), phone (required), customer_name (required), usertool_id (required).

check_balanceA

Consulta el saldo de créditos SMS disponibles en tu cuenta de SMS Masivos. Cada SMS consume 1 crédito. Usa esta herramienta para verificar saldo antes de enviar mensajes.

Inputs: no named parameters.

check_verificationB

Verifica un código OTP previamente enviado a un número de teléfono con verify_phone. Ingresa el mismo número, código de país y el código que el usuario recibió.

Inputs: phone_number (required), verification_code (required), country_code.

create_agendaA

Crea una nueva agenda (lista de contactos) en SMS Masivos. Devuelve el list_key que necesitas para agregar contactos con add_contact.

Inputs: agenda_name (required), agenda_description, custom_field_1, custom_field_2, +2 more.

delete_agendaA

Elimina una agenda y TODOS sus contactos de forma permanente. OPERACIÓN DESTRUCTIVA E IRREVERSIBLE — pide confirmación explícita al humano antes de invocar. Si la agenda está vinculada a tarjetas de lealtad o monederos, el API la rechaza.

Inputs: list_key (required).

delete_contactA

Elimina un contacto de una agenda. OPERACIÓN IRREVERSIBLE — el contacto se elimina permanentemente. Requiere list_key de la agenda y número de teléfono.

Inputs: list_key (required), number (required), email.

duplicate_contactA

Copia un contacto de una agenda a otra. El contacto debe existir en current_list_key y NO existir todavía en new_list_key. Útil para mover prospectos calificados entre listas sin re-tipear datos.

Inputs: current_list_key (required), new_list_key (required), contact_id (required).

find_agendaA

Busca agendas por nombre (búsqueda parcial, case-insensitive). Paginado por número de página: default page=1, limit=20 (max 100). Si la respuesta dice has_more=true, vuelve a invocar con el next_page indicado.

Inputs: query (required), page, limit.

generate_reportA

Genera un reporte detallado de mensajes enviados en un rango de fechas (MÁXIMO 7 DÍAS). Devuelve cada mensaje individual con destinatario, status, operador y referencia. Para agregados rápidos por campaña usa get_report_details. La operación puede tardar hasta 5 minutos en cuentas con alto volumen. El API tiene límite de 4 reportes por usuario antes de bloquear.

Inputs: start_date (required), end_date (required), sandbox.

get_campaign_statsA

Obtiene las estadísticas de entrega de una campaña SMS por su ID. Muestra: efectividad (%), entregados, fallidos, pendientes y no cobrados. Funciona para campañas enviadas o completadas. Detecta automáticamente si la campaña es sandbox.

Inputs: campaign_id (required), sandbox.

get_contactsA

Obtiene todos los contactos de una agenda específica usando su list_key. Usa list_agendas primero para obtener el list_key.

Inputs: list_key (required).

get_loyalty_contactA

Consulta los datos de un contacto en una tarjeta de lealtad: sellos acumulados, canjes, etc. Si omites el teléfono, retorna todos los contactos.

Inputs: loyalty_key (required), phone.

get_metricsA

Muestra las métricas de uso del MCP en la sesión actual: llamadas por tool, errores, latencia promedio y p95, uso sandbox vs producción.

Inputs: no named parameters.

get_report_detailsA

Devuelve agregados rápidos por campaña: total enviados, entregados, fallidos, pendientes, no cobrados y % de efectividad. Mucho más rápido que generate_report cuando solo necesitas KPIs. Requiere campaign_id (obténlo de list_campaigns o send_sms).

Inputs: campaign_id (required), sandbox.

get_wallet_contactA

Consulta el saldo de un contacto en un monedero electrónico. Si omites el teléfono, retorna todos los contactos con sus saldos.

Inputs: wallet_key (required), phone.

list_agendasA

Lista todas las agendas (listas de contactos) de tu cuenta en SMS Masivos. Cada agenda tiene un list_key único que necesitas para obtener contactos o agregar nuevos.

Inputs: no named parameters.

list_campaignsA

Lista las campañas SMS de tu cuenta, ordenadas de más reciente a más antigua. Puedes filtrar por rango de fechas. Usa el ID de campaña con get_campaign_stats para ver estadísticas de entrega.

Inputs: start_date, end_date, sandbox, limit.

list_loyalty_cardsA

Lista todas las tarjetas de lealtad de tu cuenta. Cada tarjeta tiene un loyalty_key que necesitas para gestionar contactos y registrar ventas.

Inputs: no named parameters.

list_walletsA

Lista todos los monederos electrónicos de tu cuenta. Cada monedero tiene un wallet_key y usertool_id que necesitas para gestionar contactos y saldos.

Inputs: no named parameters.

manage_webhookA

Gestiona el webhook configurado para tu cuenta (uno por usuario). Acciones: 'list' (ver), 'add' (registrar o reemplazar), 'toggle' (cambiar estado), 'delete' (eliminar — DESTRUCTIVO, pide confirmación al humano antes). El webhook recibe eventos de entrega de SMS. URL debe ser https; rechaza IPs privadas y localhost.

Inputs: action (required), url, status.

rename_agendaA

Cambia el nombre de una agenda existente. Requiere el list_key (obténlo con list_agendas).

Inputs: list_key (required), agenda_name (required).

resend_verificationA

Reenvía un código OTP a un número que ya tenía una verificación activa con verify_phone. Útil cuando el usuario reporta que no le llegó el SMS. Por default reenvía el mismo código; pasa reset_code='1' para regenerar uno nuevo.

Inputs: phone_number (required), company (required), country_code, reset_code, +4 more.

reset_verificationA

Resetea el estado de una verificación de teléfono — limpia los intentos fallidos y opcionalmente genera un código nuevo. Úsalo cuando el usuario excedió los intentos o el código expiró y quieres permitirle reintentar sin crear una verificación nueva con verify_phone.

Inputs: phone_number (required), country_code, reset_code, code_type.

send_payment_requestB

Envía una solicitud de pago a un cliente vía SMS usando un template configurado en la cuenta. El template debe existir y estar activo en la sección de Solicitudes de Pago. El cliente recibe un SMS con link corto a la página de pago.

Inputs: template (required), number (required), amount, email, +2 more.

send_smsA

Envía uno o varios mensajes SMS a través de SMS Masivos. Requiere números de teléfono (separados por coma, máximo 500), texto del mensaje y código de país. Usa sandbox='1' para pruebas sin envío real. El código de país por defecto es 52 (México).

Inputs: numbers (required), message (required), country_code, sandbox, +4 more.

update_contactA

Actualiza los datos de un contacto existente en una agenda. Identifica al contacto por list_key + number. Si el contacto no existe en esa agenda, sugiere usar add_contact en su lugar.

Inputs: list_key (required), number (required), email, name, +6 more.

update_wallet_balanceA

Agrega o resta saldo en el monedero de un contacto. transaction_type '1' = agregar, '2' = restar. Requiere wallet_key, teléfono, monto y usertool_id.

Inputs: wallet_key (required), phone (required), transaction_type (required), transaction_amount (required), +1 more.

verify_phoneA

Inicia una verificación de número de teléfono enviando un código OTP por SMS. Opcionalmente puede enviarse por llamada de voz o WhatsApp. Después usa check_verification para verificar el código que ingrese el usuario.

Inputs: phone_number (required), company (required), country_code, code_type, +4 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 30 tools

    Disambiguation5/5

    Each tool has a distinct purpose: contact management, agenda operations, loyalty, wallets, SMS sending, verification, reporting, webhooks, etc. No two tools appear to do the same thing, even within verification (initiate, check, resend, reset are clearly differentiated).

    Naming Consistency5/5

    All tools use a consistent verb_noun pattern with snake_case (e.g., add_contact, list_agendas, send_sms, verify_phone). No mixing of styles like camelCase or inconsistent verb choices.

    Tool Count4/5

    30 tools is on the higher side but each serves a concrete feature of the SMS platform (contacts, loyalty, wallets, sending, reporting, verification, webhooks, metrics). The scope justifies the count, though it could be slightly trimmed.

    Completeness5/5

    The tool surface covers nearly every aspect of the SMS Masivos platform: complete CRUD for contacts and agendas, sending with campaign stats, detailed reports, loyalty and wallet management, phone verification, webhook configuration, balance checking, and usage metrics. No obvious gaps for the stated domain.

    Maintenance

    ActivityMaintained
    ResponsivenessMixed handling

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      Enables AI agents to send, receive, schedule, and manage SMS and MMS messages using the Twilio Programmable Messaging API. It provides comprehensive tools for handling bulk messaging, conversation threads, and real-time inbox monitoring through a secure, production-grade architecture.
      16
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables sending SMS messages, managing contacts, campaigns, and inbox from AI assistants like Claude and ClickUp.
      33 npm
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI models to send SMS, check delivery status, and perform Mexican Mobile Number Portability (MNP) carrier lookups via the N3T Mobile CPaaS Gateway.
      -
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to send SMS messages, verify phone numbers via OTP, assess fraud risk, and access TeleSign API documentation through natural language.
      8
      4 npm
      Apache 2.0