This server lets Claude read from and send messages through your local WhatsApp on macOS. It queries the WhatsApp SQLite database directly for reading operations like searching contacts, listing chats, pulling message history, and filtering by date or keyword. For sending messages, it spins up a Node.js bridge that connects to WhatsApp Web using the Baileys library, requiring QR code authentication. The read side works offline and immediately. The send side needs the bridge running. You'd reach for this when you want Claude to triage unread messages, search old conversations for context, or draft and send replies without switching apps.
A Model Context Protocol server that connects Claude to your WhatsApp. Read messages, search contacts, send replies — all through natural conversation.
pip install whatsapp-mcp-macos
git clone https://github.com/kalki-kgp/whatsapp-mcp.git
cd whatsapp-mcp
pip install -e .
Open config file:
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
If it doesn't exist, create it.
Add the WhatsApp MCP server:
{
"mcpServers": {
"whatsapp": {
"command": "python3",
"args": ["-m", "whatsapp_mcp"]
}
}
}
Restart Claude Desktop (Cmd+Q, then reopen)
Look for the MCP tools icon (🔨) in the chat input — click it to verify "whatsapp" is listed
Start chatting:
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"whatsapp": {
"command": "python3",
"args": ["-m", "whatsapp_mcp"]
}
}
}
Restart Cursor and use WhatsApp tools in the AI chat.
Just ask Claude:
Start the WhatsApp bridge:
cd bridge && npm install && npm start
Ask Claude to check connection:
If it shows a QR code, open the data URL in a browser and scan with your phone
Once connected, you can send:
| Tool | Description | Requires Bridge |
|---|---|---|
whatsapp_status | Check connection, get QR if needed | No |
whatsapp_search_contacts | Search contacts by name/phone | No |
whatsapp_list_chats | List recent conversations | No |
whatsapp_get_messages | Get messages from a chat | No |
whatsapp_search_messages | Search across all chats | No |
whatsapp_unread | Get unread message summary | No |
whatsapp_send | Send a message | Yes |
whatsapp_incoming | Get real-time incoming messages | Yes |
Claude ──MCP──▶ WhatsApp MCP Server
│
├──▶ Local SQLite DBs (read messages)
│ ~/Library/Group Containers/group.net.whatsapp.WhatsApp.shared/
│
└──▶ WhatsApp Bridge (:3010) ──▶ WhatsApp Web
(for sending)
Read operations query the local WhatsApp database directly — fast and works offline.
Send operations go through the bridge, which connects to WhatsApp Web using Baileys.
# Clone
git clone https://github.com/kalki-kgp/whatsapp-mcp.git
cd whatsapp-mcp
# Install in dev mode
pip install -e ".[dev]"
# Run server
python -m whatsapp_mcp
MIT
io.github.mindstone/mcp-server-microsoft-teams
com.mintmcp/outlook-email
helbertparanhos/resend-email-mcp
marlinjai/email-mcp
io.github.mindstone/mcp-server-email-imap
io.github.osamahassouna/email-playbook-mcp