Skip to main content
Glama
alelopesjr-ai

whatsapp-mcp-skill

README.md
# WhatsApp MCP + Skill

Servidor MCP que conecta o seu WhatsApp ao Claude Code, mais uma skill `/whatsapp` que sabe ler mensagens, resumir o dia e enviar mensagens com confirmação.

Funciona como o WhatsApp Web: você vincula a sessão escaneando um QR code uma vez. A sessão fica salva localmente na sua máquina e nunca sai dela. Por baixo usa [`whatsapp-web.js`](https://github.com/pedroslopez/whatsapp-web.js) rodando um Chrome headless.

## Ferramentas

| Ferramenta | O que faz |
|---|---|
| `whatsapp_list_chats` | Lista chats recentes (nome, não lidas, última mensagem) |
| `whatsapp_get_messages` | Lê mensagens de um chat por nome ou número |
| `whatsapp_send_message` | Envia mensagem (exige match exato do nome do chat) |
| `whatsapp_daily_summary` | Tudo que chegou hoje, agrupado por remetente |

Áudios são transcritos automaticamente se o [Whisper](https://github.com/openai/whisper) estiver instalado (opcional).

## Pré-requisitos

- Node.js 18+
- Google Chrome ou Chromium instalado
- (Opcional) Whisper para transcrição de áudio

## Instalação

```bash
git clone https://github.com/alelopesjr-ai/whatsapp-mcp-skill.git ~/whatsapp-mcp-skill
cd ~/whatsapp-mcp-skill
npm install
```

### 1. Autenticar (vincular o WhatsApp)

```bash
node auth.js
```

Vai aparecer um QR code no terminal (e abrir uma imagem `qr.png`). No celular: **WhatsApp > Dispositivos vinculados > Vincular dispositivo**, escaneie. Quando aparecer `Connected.`, pode fechar o terminal (Ctrl+C). A sessão fica salva em `.wwebjs_auth/` (não versionada).

### 2. Registrar o MCP no Claude Code

```bash
claude mcp add whatsapp -- node ~/whatsapp-mcp-skill/index.js
```

Confira com `claude mcp list`. Troque `~/whatsapp-mcp-skill` se você clonou em outro lugar.

### 3. Instalar a skill

Copie a skill para o seu projeto (ou para `~/.claude/skills/` para deixá-la global):

```bash
mkdir -p ~/.claude/skills/whatsapp
cp ~/whatsapp-mcp-skill/skill/SKILL.md ~/.claude/skills/whatsapp/SKILL.md
```

A skill assume o caminho de exemplo `~/whatsapp-mcp-skill`. Se você clonou em outro lugar, ajuste os caminhos dentro do `SKILL.md`.

Pronto. No Claude Code, use `/whatsapp` ou peça em linguagem natural ("lê o que o fulano me mandou no zap").

## Resolução de problemas

**`browser is already running` / `SingletonLock`** — sobrou um Chrome órfão segurando o lock. Geralmente basta tentar de novo. Se persistir:

```bash
pkill -f "whatsapp-mcp-skill/index.js"; pkill -f "wwebjs_auth/session"
rm -f ~/whatsapp-mcp-skill/.wwebjs_auth/session/Singleton*
```

**`auth_failure` / pedindo QR de novo** — a sessão caiu. Pare qualquer instância do servidor (`pkill -f "whatsapp-mcp-skill/index.js"`) e rode `node auth.js` de novo.

## Privacidade

Tudo roda localmente. A sessão (`.wwebjs_auth/`) fica só na sua máquina e está no `.gitignore`. Nenhuma mensagem passa por servidor de terceiros além da própria infra do WhatsApp.

## Aviso

Isso usa uma biblioteca não oficial (`whatsapp-web.js`) que automatiza o WhatsApp Web. Não é endossado pelo WhatsApp/Meta. Use por sua conta e risco e com bom senso.