OpenClaw setup, Arrio deployment, WhatsApp MCP server, DNS/Traefik entries, communication style prompts (v1+v2), WhatsApp monitoring system plan, and OpenClaw upgrade protection strategy. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.7 KiB
2.7 KiB
WhatsApp MCP Server Setup
Date: 2026-02-12 22:50 Context: Built full-featured WhatsApp MCP server with consumer account support via whatsapp-web.js
Architecture
Claude Code (Mac) → MCP Server (stdio) → HTTP API → Docker Container (NUC) → whatsapp-web.js → WhatsApp
Container Details
| Property | Value |
|---|---|
| Container | whatsapp-mcp |
| Port | 3100 |
| QR Page | http://192.168.1.3:3100/qr |
| API Token | 2d86b48f0fefc044c5bad974c4f9df2c8cc6c905dc3a10dfff203e6717b02d7c |
| Volumes | whatsapp-auth (session), whatsapp-media (downloads) |
| Image | whatsapp-mcp-whatsapp (multi-stage, ~700MB) |
| Source on NUC | ~/whatsapp-mcp/ |
| MCP Source | ~/mcp-servers/whatsapp-mcp/ |
MCP Tools (27 total)
Status & Connection
whatsapp_get_status- Connection status, phone, namewhatsapp_get_qr_code- QR code for pairingwhatsapp_logout- Disconnect
Sending
whatsapp_send_message- Text messagewhatsapp_send_media- Image/video/doc/audiowhatsapp_send_location- Location pinwhatsapp_reply_to_message- Quoted replywhatsapp_react_to_message- Emoji reactionwhatsapp_forward_message- Forward to another chat
Reading
whatsapp_get_messages- Chat historywhatsapp_get_new_messages- Poll new incomingwhatsapp_search_messages- Text search
Contacts
whatsapp_list_contacts- All contactswhatsapp_get_contact- Contact detailswhatsapp_search_contacts- Search by name/phonewhatsapp_check_phone_numbers- Check registration
Groups
whatsapp_list_groups- All groupswhatsapp_get_group- Group detailswhatsapp_create_group- Create new groupwhatsapp_update_group- Update name/descriptionwhatsapp_manage_participants- Add/remove members
Chats
whatsapp_list_chats- All chats with metadatawhatsapp_mark_chat_read- Mark as readwhatsapp_archive_chat- Archive/unarchive
Media & Presence
whatsapp_download_media- Download media from messagewhatsapp_send_typing- Show typing indicator
Pairing
- Open
http://192.168.1.3:3100/qrin browser - Open WhatsApp → Linked Devices → Link a Device
- Scan the QR code
- Session persists in
whatsapp-authvolume (no re-scan after restart)
Management
# Restart
ssh nuc "cd ~/whatsapp-mcp && docker compose restart"
# Logs
ssh nuc "docker logs whatsapp-mcp -f"
# Rebuild
scp -r ~/mcp-servers/whatsapp-mcp/service/src nuc:~/whatsapp-mcp/service/
ssh nuc "cd ~/whatsapp-mcp && docker compose build && docker compose up -d"
Related
- MCP registered as
whatsappin~/.claude.json(user scope) - Pattern matches stalwart-mail MCP (local stdio → remote HTTP)