WhatsApp MCP
Allows sending WhatsApp messages to a fixed destination number using the Baileys library.
Click on "Deploy 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., "@WhatsApp MCPsend alert: deployment successful"
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.
WhatsApp MCP (Baileys puro)
Servidor MCP para um assistente (ex.: Claude) mandar alertas no WhatsApp pessoal do
operador, com confirmação de entrega e observabilidade do canal. Usa
Baileys diretamente (sem Evolution API,
sem Postgres, sem Redis), rodando numa VM Compute Engine e2-micro sempre ligada
(Always Free tier do Google Cloud — custo ~R$0/mês).
Por que VM e não Cloud Run? A sessão WhatsApp Web exige um WebSocket persistente; o Cloud Run congela a CPU do container entre requisições. Ver
docs/ARQUITETURA.md.
📚 Documentação
Documento | Conteúdo |
Arquitetura no Google Cloud (VM e2-micro, Caddy+sslip.io, IP estático, systemd), auth, deploy e custo. | |
As 15 ferramentas MCP em detalhe (parâmetros, recomendadas × extras, confirmação de entrega). | |
A saga de bugs e seus fixes (405, git ownership, 9º dígito, OAuth, timing de deploy…). |
Este repositório é a fonte de verdade completa deste MCP — código, deploy e documentação. Não depende de nenhum outro repositório.
Related MCP server: WhatsApp MCP Server
Ferramentas
Toda ferramenta de envio confirma a entrega (espera o recibo do WhatsApp) e retorna
{ entregue, status, id }. Status: pendente → enviado_ao_servidor → entregue → lido. O ack
de entrega independe de recibos de leitura; o lido é best-effort. GET /health expõe a
mesma observabilidade (uptime check externo).
Recomendadas (sempre ligadas)
Ferramenta | O que faz |
| Texto (aceita markdown do WhatsApp: |
| Imagem — gráficos de payoff/curva de capital/IV Rank/print do cockpit. |
| PDF/CSV/XLSX — relatórios, auditoria, posições. |
| Two-way: lê as mensagens recebidas pelo robô (o operador comanda pelo WhatsApp; o assistente lê e age). |
| Reconfere entrega/leitura de um envio anterior. |
| Observabilidade do canal (online? desde quando? última entrega OK?). |
| Alerta falado: gera a fala do texto (Google TTS Neural pt-BR) e envia como nota de voz. Só aparece com |
| Guia para a LLM: como usar as ferramentas complexas, com exemplos e boas práticas. A própria IA chama quando tem dúvida. |
Extras (desligadas por padrão — atrás de HABILITAR_FERRAMENTAS_EXTRAS)
Implementadas para exploração futura; só aparecem/funcionam com HABILITAR_FERRAMENTAS_EXTRAS=true:
Ferramenta | O que faz |
| Envia áudio; com |
| Envia vídeo com legenda opcional. |
| Envia um sticker (idealmente webp). |
| Responde citando (reply/quote) uma mensagem recebida, pelo id de |
| Edita uma mensagem já enviada por este servidor (ex: marcar alerta como "resolvido"). |
| Apaga para todos uma mensagem já enviada (retratar alerta falso). |
| Reage com emoji a uma mensagem (recebida ou enviada). |
| Marca mensagens recebidas como lidas (uma específica, ou as últimas). |
| Envia presença ao destino: |
Para autorizar os extras (na VM):
echo 'HABILITAR_FERRAMENTAS_EXTRAS=true' | sudo tee -a /etc/systemd/system/whatsapp-mcp.env
sudo systemctl restart whatsapp-mcp(abra uma conversa nova no claude.ai para as novas ferramentas aparecerem).
⚠️ Cada capacidade "bot-like" a mais aumenta o risco de banimento da conexão não-oficial. Para um canal pessoal de alertas, mantenha só o necessário ligado.
Dois números, dois papéis
Remetente (robô): número que escaneia o QR e mantém a sessão. Use um número secundário (reduz risco de banimento do principal).
Destino (
WHATSAPP_DESTINO): onde os alertas chegam — seu número principal.Se remetente == destino, a mensagem vai para o chat "Mensagem para mim". Use números diferentes.
Deploy
git clone https://github.com/brunotrolo/MCP_WhatsApp.git
cd MCP_WhatsApp
./scripts/deploy.shO script cria/atualiza a VM whatsapp-mcp-vm (projeto whatsapp-mcp-server-502704),
o firewall, o IP estático e o HTTPS (Caddy + sslip.io). A VM roda um git pull
deste mesmo repositório a cada (re)deploy — não há mais um passo separado de
"publicar código": edite aqui, rode ./scripts/deploy.sh, pronto.
Se precisar reiniciar o serviço manualmente na VM, prefira scripts/restart-seguro.sh
(dentro de /opt/whatsapp-mcp) em vez de systemctl restart direto — ver
docs/TROUBLESHOOTING.md.
Endpoints
Método/rota | Descrição |
| MCP autenticado pela chave no path — é esta a URL usada no conector do claude.ai: |
| MCP autenticado pelo header |
| Público: |
| Página web de repareamento — mostra status, QR (quando houver) e um botão "Reparear do zero". Não precisa de SSH/terminal: o botão apaga a sessão salva e reconecta o Baileys no mesmo processo. Use a mesma |
Variáveis de ambiente (/etc/systemd/system/whatsapp-mcp.env na VM)
Variável | Descrição |
| Chave exigida em |
| Número de destino, só dígitos ou JID ( |
| Porta interna do Node (padrão 8080; Caddy faz o HTTPS na frente). |
|
|
Pareamento (1ª vez / após logout)
gcloud compute ssh whatsapp-mcp-vm --project=<PROJECT_ID> --zone=us-east1-b
sudo journalctl -u whatsapp-mcp -fEscaneie o QR com o celular remetente (WhatsApp → Aparelhos conectados → Conectar um aparelho).
A sessão fica salva em auth_info_baileys e reconecta sozinha.
Troubleshooting
A saga de bugs (405, dubious ownership do git, 9º dígito, número errado, OAuth do
conector, dessincronia de sessão @lid) está documentada em
docs/TROUBLESHOOTING.md — leia antes de repetir os erros.
Licença
MIT — ver LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
I send and manage WhatsApp Web messages through your linked session
Messaging tools for AI agents: send messages, manage chats, groups and channels.
Give your AI agents a real WhatsApp number to send and receive messages.
Send and read WhatsApp messages on your Leporis account from AI coding agents, via your own API key.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with WhatsApp through a Model Context Protocol server, supporting sending text messages, contacts, links, and locations via standardized tools.6MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to manage WhatsApp: list chats, send and receive messages, download media, and transcribe voice notes via the unofficial Baileys library.202 npmMIT
- AlicenseAqualityDmaintenanceEnables LLMs to interact with WhatsApp via the official WhatsApp Cloud API, providing tools for sending messages, templates, media, and managing conversations.1312 npmMIT
- AlicenseBqualityDmaintenanceEnables AI agents to control WhatsApp, including sending messages and media, reading chats, managing groups and communities, with QR/pairing auth and session persistence.1417 npm2MIT