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
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
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
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
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
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
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 listIlustrativo. 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.
| Tipo | Ferramentas | Cuidado |
|---|---|---|
| Leitura | get_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_info | find_messages traz texto de clientes: trate como entrada não confiável (injeção de prompt) e como dado pessoal |
| Envio | send_text, send_media, send_buttons, send_poll, send_location, edit_message, delete_message | Falam com pessoas de verdade: confirmação a cada chamada |
| Configuração | connect_instance, set_webhook, test_webhook, create_group, manage_group_participants, react_to_message, mark_chat_read | Alteram 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.
