WhatsApp para Claude, ChatGPT e agentes de IA
Conecte uma conta de WhatsApp pessoal/Business via pareamento por QR (multi-device, como o WhatsApp Web). Envie e leia mensagens, listas chats, contatos, grupos e faça busca full-text no histórico. Suporte opcional a proxy SOCKS5/HTTPS por conexão, recomendado para evitar bloqueios em IPs de datacenter (Cloudflare/AWS).
- 📊 41 ferramentas
- ✏️ Leitura e escrita
- 💬 Funciona com qualquer cliente MCP: Claude Desktop, Cursor, VS Code, Cline, Continue
- 🔑 Login via magic-link (sem senha)
English version · Documentação completa · Skill pra agentes
Instalar em 1 clique
Claude (Web e Desktop)
A Anthropic unificou a instalação de MCPs em claude.ai/customize/connectors. O mesmo link serve pra Claude Web e Claude Desktop (basta estar logado):
Manual (se o deeplink não abrir): claude.ai/customize/connectors → + → Adicionar conector personalizado → cole Nome WhatsApp e URL https://api.mcp.ai/p_whatsapp.
Cursor
VS Code (Copilot Chat)
➕ Instalar WhatsApp no VS Code
ChatGPT, Manus, OpenClaw e mais 40+ clientes
Funciona em qualquer cliente MCP que suporte MCP over HTTP. A URL do servidor é sempre:
https://api.mcp.ai/p_whatsapp
Detalhes por cliente: INSTALL.md.
Exemplos de uso
Liste meus últimos 20 chats no WhatsApp
Busque no histórico todas as mensagens que mencionem 'reunião'
Envie 'Cheguei!' para +5511999999999
41 ferramentas disponíveis
| Tool | Descrição |
|---|---|
whatsapp_list_accounts | List WhatsApp accounts paired to this install — wa_jid, phone, label, proxy on/off, status. |
whatsapp_sync | Refresh this account's local data from WhatsApp — pulls recent messages and refreshes the groups/contacts lists into the local store. |
whatsapp_send_text | Send a WhatsApp message (text or media). |
whatsapp_send_media | Send a WhatsApp message (text or media). |
whatsapp_chats | List WhatsApp chats (individual + group). |
whatsapp_messages | List messages in a chat from LOCAL history. |
whatsapp_messages_write | Mark messages as read in a chat. |
whatsapp_contacts_list | Read WhatsApp contacts. Actions: - list: search across contacts (query optional — substring on name/phone). Default limit 50. - get: full contact info by JID. [Flattened action: list] |
whatsapp_contacts_get | Read WhatsApp contacts. Actions: - list: search across contacts (query optional — substring on name/phone). Default limit 50. - get: full contact info by JID. [Flattened action: get] |
whatsapp_groups | List WhatsApp groups the account belongs to — subject, jid, participants count, owner. |
whatsapp_group_members | List the members of a WhatsApp group (live). |
whatsapp_group_participants_add | Manage participants of a WhatsApp group (the connected account must be a group admin). |
whatsapp_group_participants_remove | Manage participants of a WhatsApp group (the connected account must be a group admin). |
whatsapp_group_participants_promote | Manage participants of a WhatsApp group (the connected account must be a group admin). |
whatsapp_group_participants_demote | Manage participants of a WhatsApp group (the connected account must be a group admin). |
whatsapp_react | React to a message with an emoji (or remove your reaction by passing an empty emoji). |
whatsapp_poll_create | Send a poll or vote on one. Actions: - create: { to, name, options[] (2–12), selectable_count? } - vote: { chat_jid, message_id, options[] (the option texts to select) } [Flattened action: create] Bulk support: accept… |
whatsapp_poll_vote | Send a poll or vote on one. Actions: - create: { to, name, options[] (2–12), selectable_count? } - vote: { chat_jid, message_id, options[] (the option texts to select) } [Flattened action: vote] Bulk support: accepts… |
whatsapp_message_delete | Manage a message you can act on. |
whatsapp_message_forward | Manage a message you can act on. |
whatsapp_message_edit | Manage a message you can act on. |
whatsapp_chat_metadata | Get metadata for a single chat (subject/name, archived/pinned/muted state, unread count, timestamps). |
whatsapp_chat_archive | Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: archive] |
whatsapp_chat_unarchive | Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: unarchive] |
whatsapp_chat_pin | Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: pin] |
whatsapp_chat_unpin | Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: unpin] |
whatsapp_chat_mute | Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: mute] |
whatsapp_chat_unmute | Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: unmute] |
whatsapp_group_manage_create | Group lifecycle/admin (the connected account must be a group admin for most actions). |
whatsapp_group_manage_leave | Group lifecycle/admin (the connected account must be a group admin for most actions). |
whatsapp_group_manage_update | Group lifecycle/admin (the connected account must be a group admin for most actions). |
whatsapp_group_manage_invite_link | Group lifecycle/admin (the connected account must be a group admin for most actions). |
whatsapp_group_manage_join | Group lifecycle/admin (the connected account must be a group admin for most actions). |
whatsapp_group_manage_requests | Group lifecycle/admin (the connected account must be a group admin for most actions). |
whatsapp_search | Full-text search across all stored messages (SQLite FTS5). |
whatsapp_history_coverage | Show how far back the LOCAL message archive reaches per chat (oldest_ts, newest_ts, message_count, status). |
whatsapp_history_backfill | Request OLDER messages for a chat from your phone (on-demand history sync), extending what whatsapp_messages can read. |
whatsapp_webhook_get | Show this WhatsApp install's outbound webhook: the current URL, the subscribed events (empty = all), include_result, and the catalog of subscribable events (available_events — e.g. |
whatsapp_webhook_set | Set (or remove) this WhatsApp install's outbound webhook. |
whatsapp_config_get | Show this install's editable-after-connect settings per connected number — currently the proxy (proxy_url): whether it's set and a masked preview (the raw value is never returned). |
whatsapp_config_set | Change an editable-after-connect setting on a connected number WITHOUT re-pairing. |
Detalhe de cada tool: docs/ferramentas.md
Preços
Cobrança por conexão ativa. Veja docs/precos.md.
Privacidade & LGPD
- Sub-processadores: o LLM host que você escolher (Claude, ChatGPT, Cursor, agente próprio). Lista completa em docs/privacidade-lgpd.md.
- Os dados retornados pelas tools são enviados ao LLM host que você escolher, sub-processador fora do nosso controle. Recomendamos planos com opt-out de treinamento.
Perguntas frequentes
O servidor é open source? O servidor é proprietário (hosted). Este repositório é o wrapper público com manifestos, docs e skills — tudo MIT.
Posso usar com agente próprio (não Claude/Cursor)?
Sim — qualquer cliente que suporte MCP over HTTP. URL: https://api.mcp.ai/p_whatsapp.
Suporte
Licença
MIT — veja LICENSE. O servidor MCP em api.mcp.ai/p_whatsapp é proprietário (hosted); este repositório (manifestos, docs, skills) é MIT.