使用说明
WhatsApp Manager MCP 🚀
Este servidor MCP (Model Context Protocol) permite gestionar WhatsApp Web de forma automatizada y eficiente, optimizado para ser utilizado por agentes de IA.
✨ Características Principales
- Velocidad Extrema: Utiliza un sistema de persistencia de navegador que mantiene la sesión activa, reduciendo los tiempos de respuesta de 30s a menos de 5s tras la primera carga.
- AdBlock Inteligente: Bloquea automáticamente imágenes, videos, estilos CSS y fuentes para minimizar el consumo de recursos y acelerar la extracción de texto.
- Modo Invisible (Headless): Funciona totalmente en segundo plano sin interrumpir el flujo de trabajo del usuario.
- Auto-Cierre por Inactividad: El navegador se cierra automáticamente tras 5 minutos sin uso para liberar memoria RAM.
- Seguridad por Permisos: Solo permite interactuar con grupos autorizados explícitamente en el archivo
.env.
🛠️ Requisitos
- Python 3.10+
- Playwright (
playwright install chromium) - Una sesión de WhatsApp Web iniciada.
🚀 Instalación y Configuración
-
Instalar dependencias:
pip install -r requirements.txt playwright install chromium -
Configurar el archivo
.env: Crea un archivo.enven la raíz con:SESSION_PATH=e:/Programs Installed/xampp/htdocs/IA/MCP_Notion_Ws/whatsapp_session GRUPOS_PERMITIDOS=NombreGrupo1,NombreGrupo2
🔌 Herramientas Incluidas
| Herramienta | Descripción |
|---|---|
iniciar_sesion_whatsapp |
Abre una ventana visible para escanear el QR y sincronizar la sesión. |
leer_mensajes_whatsapp_v2 |
Lee los últimos mensajes de un grupo autorizado. |
enviar_mensaje_whatsapp |
Envía un mensaje de texto a un grupo autorizado. |
buscar_chats_whatsapp |
Busca chats por nombre para validar el nombre exacto del destinatario. |
autorizar_grupo_whatsapp |
Añade dinámicamente nuevos grupos a la lista de permitidos en el .env. |
⚙️ Funcionamiento Interno
El servidor utiliza el WhatsAppBrowserManager, el cual gestiona el ciclo de vida del navegador Chromium a través de Playwright. Implementa un sistema de bloqueos de red (page.route) para prevenir la carga de archivos multimedia, asegurando que el agente de IA reciba la información textual de forma inmediata.
🤖 Integración con Antigravity
¡Atención! Es crítico que la ruta del proyecto NO contenga espacios (ej. usa MCP_Notion_Ws en lugar de MCP Notion Ws), ya que esto causa errores de EOF en la inicialización.
Para habilitar este servidor en Antigravity, añade el siguiente bloque al objeto "mcpServers" en tu archivo mcp_config.json:
"whatsapp-mcp": {
"$typeName": "exa.cascade_plugins_pb.CascadePluginCommandTemplate",
"command": "cmd",
"args": [
"/c",
"E:\\Programs_Installed\\xampp\\htdocs\\IA\\MCP_Notion_Ws\\run_whatsapp.bat"
],
"env": {
"SESSION_PATH": "E:/Programs_Installed/xampp/htdocs/IA/MCP_Notion_Ws/whatsapp_session",
"GRUPOS_PERMITIDOS": "Hola Bus,Equipo de Programación,Soporte mollier,Miguel Digitel,Miguel Linares,Equipo de programación,Hola bus"
},
"disabled": false
}
[!NOTE] Tras guardar los cambios en
mcp_config.json, asegura reiniciar tu cliente MCP (Antigravity).
🛡️ Mejoras Recientes
- Detección Robusta de Sesión: Se mejoró el analizador para diferenciar correctamente entre estados "Cargando", "Código QR" y "Logueado" basándose tanto en los títulos de la pestaña (notificaciones) como en los selectores HTML prioritarios (
div#pane-side), reduciendo los falsos positivos. - Extracción Inteligente: Los selectores para leer los chats se han ajustado a los atributos modernos de WhatsApp Web (
data-testid="selectable-text"y.copyable-text[data-pre-plain-text]) garantizando soporte de fecha, remitente y hora precisos.