Claude Code y Claude Desktop vía MCP

WhatsApp en Claude: el servidor MCP de ZapZap en Claude Code y Claude Desktop

Claude Code y Claude Desktop hablan MCP (Model Context Protocol), el protocolo que permite a un asistente llamar herramientas de un servidor local. ZapZap mantiene un servidor MCP de código abierto (github.com/zapzapapi/zapzap-mcp, licencia MIT) con 25 herramientas: enviar texto, medios, encuestas y botones, verificar números, leer el historial, gestionar grupos y webhooks. Tú conversas y Claude llama a la API por ti.

Actualizado el

Por qué conectar

Para quien construye con IA, la ganancia es dejar de pegar documentación y llamar a WhatsApp directo desde la conversación: pide a Claude que liste tus instancias, verifique si una lista de clientes tiene WhatsApp, lea lo que llegó y prepare la respuesta para que tú la apruebes. Con ZAPZAP_READ_ONLY=true el servidor expone solo herramientas de lectura, ideal para paneles e informes. ZapZap conecta números por un canal no oficial: WhatsApp puede limitar o bloquear cualquier número, así que el ritmo, el consentimiento y el calentamiento importan. Cuesta R$15 por número activo al mes, prepago, sin cobro por mensaje, y empiezas con un crédito de bienvenida al verificar el teléfono, sujeto a la campaña vigente.

Paso a paso

  1. 1

    Genera la clave y conecta un número

    En el panel (app.zapzapapi.com), abre Settings > API y copia la API Key y el API Secret. Crea una instancia y conecta el número por código QR. Exporta las dos claves en tu terminal como ZAPZAP_API_KEY y ZAPZAP_API_SECRET: van al entorno del servidor, nunca al prompt.

  2. 2

    Clona y compila el servidor MCP

    Necesitas Node.js 18 o superior. Ejecuta git clone https://github.com/zapzapapi/zapzap-mcp.git y, dentro de la carpeta, npm install y npm run build. El README del repositorio prevé npx -y zapzap-mcp, pero el 11/11/2026 el paquete aún no está publicado en npm (el registro responde 404). El camino que funciona hoy es clonar, compilar y apuntar el comando a dist/src/index.js.

  3. 3

    Regístralo en Claude Code

    Usa claude mcp add con las variables de entorno y el separador -- antes del comando, como en la documentación de Claude Code (leída el 11/11/2026): claude mcp add --env ZAPZAP_API_KEY=... --env ZAPZAP_API_SECRET=... --transport stdio zapzap -- node /ruta/zapzap-mcp/dist/src/index.js. El alcance predeterminado es local (solo tú, en este proyecto); -s project escribe en el .mcp.json del repositorio, que va al control de versiones, así que nunca pongas la clave ahí. Confirma con claude mcp list y, dentro de Claude Code, con /mcp.

  4. 4

    O regístralo en Claude Desktop

    En Settings > Developer > Edit Config, edita claude_desktop_config.json (macOS: ~/Library/Application Support/Claude; Windows: %APPDATA%\Claude) y agrega mcpServers.zapzap con command node, args apuntando a dist/src/index.js (ruta absoluta) y env con las dos claves. Cierra Claude Desktop por completo y ábrelo de nuevo, como indica la guía de MCP (leída el 11/11/2026).

  5. 5

    Prueba solo con lectura

    Pide: "lista mis instancias y dime cuál está conectada" y después "verifica si 5511999999999 tiene WhatsApp". Son herramientas de lectura (list_instances, get_instance_status, check_whatsapp_numbers). Solo después quita ZAPZAP_READ_ONLY para habilitar el envío.

  6. 6

    Habilita el envío con aprobación en cada llamada

    Las herramientas de envío están marcadas como no idempotentes y destructivas, así que el cliente MCP pide confirmación antes de cada send_text. Mantén esa confirmación activa, usa una instancia dedicada y nunca dejes que el asistente envíe a una lista que no revisaste.

Ejemplo

# 1) Build the MCP server from the repository (the npm package is not published yet)
git clone https://github.com/zapzapapi/zapzap-mcp.git
cd zapzap-mcp && npm install && npm run build

# 2) Register it in Claude Code (keys come from your shell, never from the prompt)
claude mcp add --env ZAPZAP_API_KEY="$ZAPZAP_API_KEY" --env ZAPZAP_API_SECRET="$ZAPZAP_API_SECRET" --env ZAPZAP_READ_ONLY=true --transport stdio zapzap -- node "$PWD/dist/src/index.js"

# 3) Check that it connected
claude mcp list

Ilustrativo. Los campos y endpoints exactos están en la documentación.

Qué herramientas existen y cuáles implican riesgo

Lista del README del repositorio (11/11/2026). En modo solo lectura, solo quedan disponibles las de lectura.

TipoHerramientasCuidado
Lecturaget_account, list_instances, get_instance_status, get_qr_code, check_whatsapp_numbers, find_chats, find_messages, get_webhook, get_webhook_deliveries, list_groups, get_group_infofind_messages trae texto de clientes: trátalo como entrada no confiable (inyección de prompt) y como dato personal
Envíosend_text, send_media, send_buttons, send_poll, send_location, edit_message, delete_messageHablan con personas reales: confirmación en cada llamada
Configuraciónconnect_instance, set_webhook, test_webhook, create_group, manage_group_participants, react_to_message, mark_chat_readModifican la cuenta: úsalas solo cuando haga falta

Lo que el servidor MCP no hace

  • No recibe mensajes: para recibir, configura un webhook (set_webhook) que apunte a tu servidor.
  • Todavía no está en npm (11/11/2026): instálalo desde el repositorio.
  • El transporte HTTP opcional (--http) escucha en 127.0.0.1 y no tiene autenticación: ponlo detrás de tu proxy si lo expones.

Preguntas frecuentes

¿El servidor MCP de ZapZap está en npm?

Todavía no. El 11/11/2026 el registro de npm responde 404 para zapzap-mcp. El README prevé npx -y zapzap-mcp, pero hoy se instala con git clone, npm install y npm run build.

¿Puedo usarlo solo para leer mensajes y hacer informes?

Sí. Define ZAPZAP_READ_ONLY=true y el servidor expone solo herramientas de lectura. Es el modo correcto para paneles, resúmenes e informes.

¿Debo pegar la clave en el prompt de Claude?

Nunca. La clave y el secreto quedan en variables de entorno del proceso del servidor. En el prompt, solo lo que quieres hacer.

¿Claude puede enviar mensajes solo?

Las herramientas de envío piden confirmación en el cliente MCP. Mantén la confirmación activa, usa una instancia dedicada y recuerda que ZapZap es una solución no oficial: WhatsApp puede limitar o bloquear números.

¿Cuánto cuesta?

Cuesta R$15 por número activo al mes, prepago, sin cobro por mensaje, y empiezas con un crédito de bienvenida al verificar el teléfono, sujeto a la campaña vigente.

Empieza ahora

Crea tu cuenta, conecta un número en minutos y prueba la API con calentamiento y anti-bloqueo. R$15 por número activo/mes, prepago, sin permanencia.