Servidor MCP de SMSBulk
Usa SMSBulk directamente desde Claude Desktop, Cursor o cualquier cliente compatible con MCP: pide números SMS y direcciones de correo desechables y lee los códigos.
El Model Context Protocol (MCP) permite que los asistentes de IA llamen a herramientas externas. Este servidor de código abierto conecta la API de SMSBulk con tu cliente de IA, sin lógica de negocio y sin almacenar secretos.
Qué hace
El servidor es un relé puro: reenvía cada solicitud a la API pública de SMSBulk usando tu propia clave de API. Expone 18 herramientas en cuatro grupos: catálogo, SMS, monedero y correo.
A diferencia de los proveedores que solo ofrecen SMS, SMSBulk ofrece verificación por teléfono y por correo. Las herramientas de correo no tienen equivalente en la mayoría de servidores MCP de la competencia.
Instalación
Requiere Node.js 18 o superior. Clona el repositorio, instala las dependencias y compila:
git clone https://github.com/Tolunay3434/smsbulk-mcp.git
cd smsbulk-mcp
npm install
npm run buildLuego apunta tu cliente MCP al dist/index.js compilado. Las herramientas de catálogo funcionan sin clave; las demás necesitan tu clave de API de SMSBulk.
Configuración del cliente
Claude Desktop
{
"mcpServers": {
"smsbulk": {
"command": "node",
"args": ["/absolute/path/to/smsbulk-mcp/dist/index.js"],
"env": {
"SMSBULK_API_KEY": "your_api_key_here",
"MAX_SPEND_PER_SESSION": "5"
}
}
}
}Añade esto a claude_desktop_config.json y reinicia Claude Desktop. Las herramientas de SMSBulk aparecerán en el menú de herramientas.
Cursor
{
"mcpServers": {
"smsbulk": {
"command": "node",
"args": ["/absolute/path/to/smsbulk-mcp/dist/index.js"],
"env": {
"SMSBULK_API_KEY": "your_api_key_here"
}
}
}
}Añade esto a ~/.cursor/mcp.json (global) o .cursor/mcp.json (por proyecto).
Sustituye /absolute/path/to/smsbulk-mcp por la ruta real donde clonaste el repositorio. Nunca subas tu clave de API.
Referencia de herramientas
18 herramientas. Las de catálogo no necesitan clave; las demás envían tu x-api-key.
Catálogo
No requiere clave de APIlist_services—Todos los servicios activos con resumen de stock y precio mínimo.
list_countries—Todos los países admitidos con banderas y códigos ISO.
get_serviceslugUn servicio, buscado por slug SEO o código de servicio.
get_service_countriesslugPaíses con stock para un servicio, con precios, stock y niveles de velocidad.
Verificación por SMS
Requiere clave de APIrequest_numberserviceCode, countryIso, operator?, idempotency_token?GastaReserva un número para verificación por SMS. Con protección ante reintentos.
get_statusidEstado y código SMS (una vez recibido) de una activación.
completeidMarca una activación como completada. Es definitivo.
cancelidCancela una activación; reembolsa el monedero si no llegó ningún SMS.
request_resendidPide al proveedor que envíe otro SMS al mismo número.
list_activationslimit?, cursor?, status?Tus activaciones, paginadas por cursor, de más reciente a más antigua.
Monedero
Requiere clave de APIget_balance—El saldo actual de tu monedero.
list_transactionslimit?, cursor?Depósitos, cargos y reembolsos recientes.
Verificación por correo
Requiere clave de APINo disponible en servidores solo SMSemail_get_domainssiteDominios de correo disponibles para un sitio objetivo, con precios y stock.
email_requestsite, domain, idempotency_token?GastaReserva una dirección de correo desechable. Con protección ante reintentos.
email_listlimit?Tus activaciones de correo recientes, de más reciente a más antigua (hasta 100, sin cursor).
email_get_statusidEstado, OTP analizado y cuerpo HTML en bruto (una vez recibido).
email_reorderidGastaReabre la misma dirección para otro OTP.
email_cancelidCancela; reembolsa el monedero si no llegó ningún OTP.
Seguridad y limitaciones
Estas protecciones son cinturones de seguridad de conveniencia, no garantías.
Protección de reintento de mejor esfuerzo: no es idempotencia garantizada
request_number y email_request mantienen una pequeña protección en memoria que detecta el caso accidental común: si la misma herramienta de pedido se ejecuta dos veces en una sesión con argumentos idénticos, la segunda llamada devuelve el primer resultado en lugar de volver a cobrar. No es idempotencia garantizada: vive solo en la memoria de este proceso, se reinicia al reiniciar, no se coordina entre clientes y no puede evitar una verdadera condición de carrera del lado del servidor. Para reintentar con seguridad un pedido, pasa el mismo idempotency_token; para hacer deliberadamente un segundo pedido, pasa uno diferente.
Límite de gasto flexible (MAX_SPEND_PER_SESSION)
Cuando se establece, el servidor rastrea el coste real de cada pedido exitoso y bloquea el siguiente pedido cuando el total acumulado alcanza tu límite. Es flexible y en memoria: se reinicia al reiniciar, cubre solo esta sesión y bloquea el siguiente pedido en lugar de dividir uno. Un pedido realizado mientras aún estás por debajo del límite se permite aunque haga que el total lo supere. Es una capa adicional sobre los límites del lado del servidor de tu cuenta (saldo, cuota diaria, límites de frecuencia).
Lleva la verificación a tu flujo de trabajo con IA
Clona el servidor, añade tu clave de API y pide códigos SMS o de correo directamente desde tu asistente.
