Skip to main content
Glama

📱 WhatsApp MCP — Servidor remoto HTTP/SSE

Servidor del Protocolo de Contexto de Modelo (MCP) para WhatsApp, construido con whatsapp-web.js y TypeScript. Admite tanto el modo stdio local (Claude Desktop) como el modo remoto HTTP/SSE (Claude.ai Remote MCP).


⚠️ Términos de servicio de WhatsApp — IMPORTANTE

Lea esto antes de usar este proyecto.

Los Términos de servicio y la Política de uso aceptable de WhatsApp prohíben el uso de herramientas de automatización no oficiales en cuentas personales o comerciales.

🚫 Acciones que provocarán que su número sea BANEADO:

Violación

Nivel de riesgo

Enviar mensajes masivos/spam

🔴 Ban instantáneo

Automatizar mensajes a números desconocidos

🔴 Ban instantáneo

Usar clientes de WhatsApp no oficiales (como whatsapp-web.js)

🟠 Riesgo alto

Extraer datos de contactos o grupos a gran escala

🟠 Riesgo alto

Enviar mensajes sin el consentimiento del usuario

🔴 Ban instantáneo

Ejecutar el bot 24/7 en un número personal

🟡 Riesgo medio

Enviar archivos/medios de forma masiva

🟠 Riesgo alto

✅ Prácticas más seguras:

  • Utilice un número de teléfono dedicado/de prueba, no su número personal

  • Solo envíe mensajes a contactos que hayan dado su consentimiento

  • Mantenga la frecuencia de mensajes baja y similar a la humana

  • No exponga sus endpoints /sse o REST públicamente sin protección API_KEY

  • No utilice esto para marketing, envíos masivos de ventas o cualquier mensajería comercial a gran escala

  • Utilice la API de WhatsApp Business (Oficial) para uso comercial o de producción

🔒 Este proyecto está destinado únicamente a la automatización personal y al desarrollo/pruebas. El autor no se hace responsable de ningún baneo de cuenta o consecuencia legal resultante del mal uso.


Related MCP server: WhatsApp MCP Server

🗂️ Estructura del proyecto

whatsapp-mcp/
├── src/
│   ├── index.ts          # stdio MCP server (Claude Desktop)
│   ├── remote.ts         # HTTP/SSE MCP server (Remote MCP + REST API)
│   └── send_message.ts   # CLI script to send a single message
├── dist/                 # Compiled JavaScript (auto-generated, do not edit)
├── .wwebjs_auth/         # WhatsApp session data (⚠️ keep this gitignored!)
├── .wwebjs_cache/        # Puppeteer browser cache (gitignored)
├── package.json
├── tsconfig.json
├── render.yaml           # Render.com deployment config
├── start-remote.bat      # Windows quick-start script
└── README.md

🚀 Inicio rápido

Requisitos previos

  • Node.js v18+ y npm

  • Una cuenta de WhatsApp (¡use un número de prueba!)

  • Google Chrome o Chromium instalado (utilizado internamente por Puppeteer)


1. Instalar dependencias

npm install

2. Compilar TypeScript

npm run build

3. Iniciar el servidor

Modo remoto HTTP/SSE (Claude.ai Remote MCP):

npm run start:remote

Modo de desarrollo (no requiere compilación, usa ts-node):

npm run dev:remote

Modo stdio (Claude Desktop):

npm start

4. Escanear el código QR

Abra su navegador y vaya a:

http://localhost:3000/qr

Escanee el código QR con WhatsApp → Dispositivos vinculados → Vincular un dispositivo.


🔌 Endpoints de la API

Método

Ruta

Descripción

GET

/ o /health

Comprobación de estado + estado de WhatsApp

GET

/qr

Página HTML del código QR (escanear para autenticar)

GET

/qr?format=json

Datos QR sin procesar en JSON

GET

/tools

Lista de todas las herramientas MCP disponibles

GET

/tools/status

Estado de la conexión de WhatsApp

POST

/tools/send-message

Enviar un mensaje de WhatsApp

GET

/tools/chats

Listar chats recientes

GET

/tools/contacts

Listar contactos

GET

/tools/messages/:chatId

Obtener mensajes de un chat

POST

/tools/invoke

Invocación genérica de herramientas MCP

GET

/sse

Endpoint MCP SSE (Claude Remote MCP)

POST

/messages

Endpoint MCP POST (emparejado con /sse)


🛠️ Herramientas MCP disponibles

Herramienta

Descripción

whatsapp_status

Comprobar estado de conexión

whatsapp_send_message

Enviar un mensaje de texto

whatsapp_send_media

Enviar imagen / video / documento

whatsapp_get_contacts

Listar todos los contactos

whatsapp_get_groups

Listar todos los grupos

whatsapp_get_group_info

Obtener detalles y miembros del grupo

whatsapp_create_group

Crear un nuevo grupo

whatsapp_get_chats

Obtener chats recientes

whatsapp_get_messages

Obtener mensajes de un chat específico


🔐 Opcional: Autenticación con Bearer Token

Proteja sus endpoints REST configurando una variable de entorno API_KEY:

API_KEY=mysecretkey npm run start:remote

Incluya el token en todas las solicitudes:

curl -H "Authorization: Bearer mysecretkey" http://localhost:3000/tools/status

🌐 Pruebas con ngrok (HTTPS público)

  1. Instale ngrok

  2. Inicie su servidor: npm run start:remote

  3. En una terminal nueva: ngrok http 3000

  4. Copie la URL generada (ej. https://xxxx.ngrok-free.app)

En Claude.ai → Configuración → Integraciones → Remote MCP, pegue:

https://xxxx.ngrok-free.app/sse

☁️ Desplegar en Render

  1. Envíe este repositorio a GitHub (consulte los pasos de Git a continuación)

  2. Vaya a render.comNew → Web Service

  3. Conecte su repositorio de GitHub

  4. Configure:

    • Comando de compilación: npm install && npm run build

    • Comando de inicio: npm run start:remote

    • Entorno: NODE_ENV=production

    • Opcional: API_KEY=yoursecretkey

  5. Despliegue y copie su URL https://your-app.onrender.com

Péguelo en Claude Remote MCP:

https://your-app.onrender.com/sse

⚠️ Nota: Los datos de la sesión de WhatsApp (.wwebjs_auth) no persisten entre despliegues de Render. Utilice un Render Disk o vuelva a escanear el código QR después de cada despliegue.


📦 Scripts de npm

Comando

Descripción

npm run build

Compilar TypeScript a dist/

npm start

Iniciar servidor MCP stdio

npm run start:remote

Iniciar servidor remoto HTTP/SSE

npm run dev

Servidor stdio de desarrollo (ts-node, sin compilación)

npm run dev:remote

Servidor remoto de desarrollo (ts-node, sin compilación)

npm run send

CLI: enviar un solo mensaje

npm run qr

Mostrar código QR en la terminal


📄 Recomendaciones para .gitignore

Asegúrese de que su .gitignore incluya:

node_modules/
dist/
.wwebjs_auth/
.wwebjs_cache/
.env
*.bat

🔒 Nunca suba .wwebjs_auth/ — contiene las credenciales de su sesión de WhatsApp.


🔧 Variables de entorno

Variable

Predeterminado

Descripción

PORT

3000

Puerto del servidor HTTP

HOST

0.0.0.0

Dirección de enlace del servidor

API_KEY

(vacío)

Token Bearer opcional para autenticación REST

NODE_ENV

development

Establecer en production en Render


🤝 Contribuciones

¡Las solicitudes de extracción (pull requests) son bienvenidas! Para cambios importantes, abra primero un issue.


📜 Licencia

MIT — utilícelo de forma responsable y de acuerdo con los Términos de servicio de WhatsApp.


💡 Consejo: Instale la extensión GitLens en VS Code para una experiencia de Git mucho más rica: historial de confirmaciones, blame, comparaciones y más.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Node.js application that connects WhatsApp Web with AI models through the Model Context Protocol, enabling automated messaging, contact management, and group chat functionality through AI-driven workflows.
    42
    44
    MIT
  • A
    license
    C
    quality
    F
    maintenance
    A Model Context Protocol server that connects your personal WhatsApp account to AI agents like Claude, enabling them to search messages, view contacts, retrieve chat history, and send messages via WhatsApp.
    7
    13
    72
    ISC
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    A Model Context Protocol server that integrates with WaPulse WhatsApp Web API, enabling users to send messages, manage groups, handle files, and perform various WhatsApp operations programmatically.
    3
    1

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PONMANIAN-SA/whatsapp_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server