
wacon-mcp
by JOSETRA44
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
Desde npm (recomendado, cuando esté publicado):
npm install -g wacon
Directo desde GitHub (sin esperar el registro — compila solo al instalar):
npm install -g github:JOSETRA44/wacon-mcp
Sin instalar nada (npx):
npx wacon login
Desarrollo local:
git clone https://github.com/JOSETRA44/wacon-mcp && cd wacon-mcp
npm install && npm link
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 perfiles
Despué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 mcp
# o sin instalación global:
claude mcp add wacon -- npx -y wacon mcp
Cualquier otro cliente MCP local puede conectarse de dos formas:
- stdio: comando
wacon mcp - HTTP:
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 (3 capas)
| Capa | Quién la escribe | Qué contiene |
|---|---|---|
| Stats (frontmatter YAML) | analyze_contact / wacon init — determinístico, sin LLM | emojis, formalidad, tuteo/usted/voseo, idioma, uso de tildes, abreviaciones, estilo de risa, longitud, frases recurrentes, dinámica (latencia de respuesta, iniciativa, ráfagas) |
| Notas cualitativas (cuerpo .md) | Agentes vía update_contact_profile (y tú, a mano) | dinámica de la relación, temas, bromas internas, qué evitar |
persona.md | wacon init + tú | tu voz global y reglas duras para los agentes |
Recuperación híbrida (RAG local, sin modelos externos)
recall_context combina keyword (FTS5/BM25) + similitud semántica (vectores de n-gramas hasheados, robustos a typos: "q onda" ≈ "qué onda") + recencia, fusionados con RRF. Y memoria episódica: el historial se segmenta en conversaciones (>3h de silencio); los agentes las consolidan con summarize_episode y esos resúmenes emergen en recalls futuros. Wacon mejora con cada uso.
Flujo de un agente: get_contact_profile → read_messages → recall_context → redactar → send_message → update_contact_profile + summarize_episode.
Atención y ahorro de tokens
Un agente que hace polling (list_chats cada 30s) gasta ~100k tokens por hora para aprender "no pasó nada". Wacon invierte eso: el daemon espera y filtra gratis.
wait_for_messages— long-poll: bloquea server-side y
Related servers

n8n
Updated todayby n8n-io
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

mcp-server-fetch
OfficialUpdated todayA Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs

@modelcontextprotocol/server-filesystem
OfficialUpdated todayMCP server for filesystem access