Wacon
Allows AI agents to read, send, and manage WhatsApp messages, with contact-specific style memory and full-text search.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Waconread last 5 messages from Ana"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Wacon — WhatsApp AI CLI + MCP Server
Wacon conecta tu WhatsApp con agentes de IA (Claude Code, o cualquier cliente MCP) y con tu terminal. Su diferencial: memoria de estilo por contacto — los agentes no solo pueden leer y enviar mensajes, sino hacerlo imitando cómo TÚ le hablas a cada persona.
⚠️ Advertencia: Wacon usa Baileys, una librería no oficial de ingeniería inversa del protocolo de WhatsApp Web. Esto viola los Términos de Servicio de WhatsApp y tu número puede ser baneado permanentemente. Úsalo bajo tu propio riesgo, idealmente con un número secundario. El rate-limit integrado reduce el riesgo, no lo elimina.
Instalación
npm install
npm run build
npm link # deja el comando `wacon` disponible globalmenteRelated MCP server: WhatsApp MCP Server
Primeros pasos
wacon login # escanea el QR desde WhatsApp > Dispositivos vinculados
wacon status # mira cómo crece la sincronización del historial
wacon init # cuando haya miles de mensajes: construye persona.md y perfilesDespués de wacon init, edita ~/.wacon/persona.md a mano. Es la fuente de verdad de tu voz: los agentes la leen antes de cada mensaje que envían en tu nombre.
Registrar en Claude Code (u otro agente)
claude mcp add wacon -- wacon mcpCualquier otro cliente MCP local puede conectarse de dos formas:
stdio: comando
wacon mcpHTTP:
POST http://127.0.0.1:8317/mcpcon headerAuthorization: Bearer <token>(el token vive en~/.wacon/daemon.json)
Todos los clientes comparten la misma sesión: un daemon en background es el único dueño del socket de WhatsApp y arranca solo cuando hace falta.
Arquitectura
agentes (stdio/HTTP) ─┐
├─► wacon daemon ─► Baileys (1 socket WA)
humano (CLI) ─────────┘ │
├─► ~/.wacon/wacon.db (SQLite + FTS5)
├─► ~/.wacon/profiles/*.md (estilo por contacto)
├─► ~/.wacon/persona.md (tu voz global)
└─► ~/.wacon/auth/ (credenciales de sesión)Sistema de memoria
Capa | Quién la escribe | Qué contiene |
Stats (frontmatter YAML) |
| emojis frecuentes, formalidad, estilo de risa, longitud, frases recurrentes, horarios |
Notas cualitativas (cuerpo .md) | Agentes vía | dinámica de la relación, temas, bromas internas, qué evitar |
|
| tu voz global y reglas duras para los agentes |
Flujo esperado de un agente antes de enviar: get_contact_profile → read_messages → redactar → send_message → update_contact_profile.
Herramientas MCP
whatsapp_status, whatsapp_login (QR como imagen), list_chats, read_messages, search_messages (full-text), search_contacts, get_group_info, send_message, get_contact_profile, update_contact_profile, analyze_contact, get_persona, wacon_init — más resources (wacon://persona, wacon://profile/{chat}) y el prompt reply_in_style.
Guardrails (~/.wacon/config.json)
{
"dryRun": false, // true = los envíos se loguean pero NO salen
"sendRateLimitPerMinute": 10, // tope duro de envíos
"allowedChats": [], // si no está vacío, SOLO se puede enviar a estos JIDs
"blockedChats": [], // envíos siempre rechazados
"daemonPort": 8317
}Recomendado para las primeras pruebas: "dryRun": true, o allowedChats con solo tu propio JID. Todo envío queda auditado en la tabla sent_log con el nombre del cliente que lo hizo.
CLI
wacon login | logout | status
wacon chats | read <chat> | send <chat> <texto> | search <query> | contacts <nombre>
wacon init | profile <chat> [--note "..." --section "..."] | persona
wacon daemon start|stop|log | config | mcpSeguridad
El daemon escucha solo en
127.0.0.1y exige un token aleatorio por sesión.Las credenciales de WhatsApp viven en
~/.wacon/auth/en claro (igual que en cualquier setup Baileys): protege tu cuenta de usuario de Windows.Nada sale de tu máquina: mensajes, perfiles y análisis son 100% locales.
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/JOSETRA44/wacon-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server