WhatsApp MCP
Allows sending WhatsApp messages to a fixed destination number using the Baileys library.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
I send and manage WhatsApp Web messages through your linked session
WhatsApp for Claude, ChatGPT or any AI agent: search, reply and send. Personal or Business API.
Messaging tools for AI agents: send messages, manage chats, groups and channels.
Read, summarize and send your own WhatsApp messages from AI assistants (OAuth 2.1).
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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.93 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.1419 npm2MIT