Claude Code e Claude Desktop via MCP

WhatsApp no Claude: servidor MCP da ZapZap no Claude Code e no Claude Desktop

O Claude Code e o Claude Desktop falam MCP (Model Context Protocol), o protocolo que deixa um assistente chamar ferramentas de um servidor local. A ZapZap mantém um servidor MCP de código aberto (github.com/zapzapapi/zapzap-mcp, licença MIT) com 25 ferramentas: enviar texto, mídia, enquete e botões, checar números, ler histórico, gerenciar grupos e webhooks. Você conversa e o Claude chama a API por você.

Atualizado em

Por que conectar

Para quem constrói com IA, o ganho é parar de colar documentação e chamar o WhatsApp direto da conversa: peça para o Claude listar as instâncias, conferir se uma lista de clientes tem WhatsApp, ler o que chegou e preparar a resposta para você aprovar. Com ZAPZAP_READ_ONLY=true o servidor expõe só ferramentas de leitura, ideal para painéis e relatórios. A ZapZap conecta números por um canal não oficial: o WhatsApp pode limitar ou bloquear qualquer número, então ritmo, consentimento e aquecimento contam. São R$15 por número ativo/mês, pré-pago, sem cobrança por mensagem, e você começa com crédito de boas-vindas ao verificar o telefone, sujeito à campanha vigente.

Passo a passo

  1. 1

    Gere a chave e conecte um número

    No painel (app.zapzapapi.com), abra Settings > API e copie a API Key e o API Secret. Crie uma instância e conecte o número pelo QR code. Exporte as duas chaves no seu terminal como ZAPZAP_API_KEY e ZAPZAP_API_SECRET: elas vão para o ambiente do servidor, nunca para o prompt.

  2. 2

    Clone e compile o servidor MCP

    Precisa de Node.js 18 ou mais. Rode git clone https://github.com/zapzapapi/zapzap-mcp.git e, dentro da pasta, npm install e npm run build. O README do repositório prevê npx -y zapzap-mcp, mas em 11/11/2026 o pacote ainda não está publicado no npm (o registro responde 404). Por isso o caminho que funciona hoje é clonar, compilar e apontar o comando para dist/src/index.js.

  3. 3

    Registre no Claude Code

    Use claude mcp add com as variáveis de ambiente e o separador -- antes do comando, como na documentação do Claude Code (lida em 11/11/2026): claude mcp add --env ZAPZAP_API_KEY=... --env ZAPZAP_API_SECRET=... --transport stdio zapzap -- node /caminho/zapzap-mcp/dist/src/index.js. O escopo padrão é local (só você, neste projeto); -s project grava no .mcp.json do repositório, que vai para o controle de versão, então nunca coloque a chave nele. Confirme com claude mcp list e, dentro do Claude Code, com /mcp.

  4. 4

    Ou registre no Claude Desktop

    Em Settings > Developer > Edit Config, edite o claude_desktop_config.json (macOS: ~/Library/Application Support/Claude; Windows: %APPDATA%\Claude) e adicione mcpServers.zapzap com command node, args apontando para o dist/src/index.js (caminho absoluto) e env com as duas chaves. Saia do Claude Desktop por completo e abra de novo, como manda o guia do MCP (lido em 11/11/2026).

  5. 5

    Teste só com leitura

    Peça: "liste minhas instâncias e diga qual está conectada" e depois "cheque se 5511999999999 tem WhatsApp". São ferramentas de leitura (list_instances, get_instance_status, check_whatsapp_numbers). Só depois remova ZAPZAP_READ_ONLY para liberar o envio.

  6. 6

    Libere o envio com aprovação a cada chamada

    As ferramentas de envio são marcadas como não idempotentes e destrutivas, então o cliente MCP pede confirmação antes de cada send_text. Mantenha essa confirmação ligada, use uma instância dedicada e nunca deixe o assistente enviar para uma lista que você não revisou.

Exemplo

# 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. Os campos e endpoints exatos estão na documentação.

Quais ferramentas existem e quais oferecem risco

Lista do README do repositório (11/11/2026). Em modo somente leitura, só as de leitura ficam disponíveis.

TipoFerramentasCuidado
Leituraget_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 traz texto de clientes: trate como entrada não confiável (injeção de prompt) e como dado pessoal
Enviosend_text, send_media, send_buttons, send_poll, send_location, edit_message, delete_messageFalam com pessoas de verdade: confirmação a cada chamada
Configuraçãoconnect_instance, set_webhook, test_webhook, create_group, manage_group_participants, react_to_message, mark_chat_readAlteram a conta: use só quando precisar

O que o servidor MCP não faz

  • Não recebe mensagens: para receber, configure um webhook (set_webhook) apontando para o seu servidor.
  • Não publica o pacote no npm ainda (11/11/2026): instale pelo repositório.
  • O transporte HTTP opcional (--http) escuta em 127.0.0.1 e não tem autenticação: coloque atrás do seu proxy se for expor.

Perguntas frequentes

O servidor MCP da ZapZap está no npm?

Ainda não. Em 11/11/2026 o registro do npm responde 404 para zapzap-mcp. O README prevê npx -y zapzap-mcp, mas hoje a instalação é por git clone, npm install e npm run build.

Posso usar só para ler mensagens e gerar relatórios?

Sim. Defina ZAPZAP_READ_ONLY=true e o servidor expõe apenas ferramentas de leitura. É o modo certo para painéis, resumos e relatórios.

Preciso colar a chave no prompt do Claude?

Nunca. A chave e o segredo ficam em variáveis de ambiente do processo do servidor. No prompt, só o que você quer fazer.

O Claude pode mandar mensagem sozinho?

As ferramentas de envio pedem confirmação no cliente MCP. Mantenha a confirmação ligada, use uma instância dedicada e lembre que a ZapZap é uma solução não oficial: o WhatsApp pode limitar ou bloquear números.

Quanto custa?

São R$15 por número ativo/mês, pré-pago, sem cobrança por mensagem, e você começa com crédito de boas-vindas ao verificar o telefone, sujeito à campanha vigente.

Comece agora

Crie sua conta, conecte um número em minutos e teste a API com aquecimento e anti-bloqueio. R$15 por número ativo/mês, pré-pago, sem fidelidade.