Whatsapp MCP
WhatsApp MCP server
Installation
npx whatsapp-mcpAsk AI about Whatsapp MCP
Powered by Claude Β· Grounded in docs
I know everything about Whatsapp MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
WhatsApp MCP
MCP server for WhatsApp that connects to your personal WhatsApp account via the WhatsApp Web multi-device API (using the whatsmeow library). Single Go binary β no Python or separate bridge process needed. All messages are stored locally in SQLite and only sent to the LLM when accessed through tools.

Installation
Option A β Install script (macOS / Linux, no Go required)
curl -fsSL https://raw.githubusercontent.com/ihiteshgupta/whatsapp-mcp/main/install.sh | sh
Installs the whatsapp-mcp binary to /usr/local/bin.
Option B β Homebrew (macOS / Linux)
brew install ihiteshgupta/tap/whatsapp-mcp
Requires the Homebrew tap to be set up. See ihiteshgupta/homebrew-tap.
Option C β go install (Go users)
go install github.com/ihiteshgupta/whatsapp-mcp/whatsapp-bridge-v2/cmd/whatsapp-mcp@latest
Option D β Build from source
git clone https://github.com/ihiteshgupta/whatsapp-mcp.git
cd whatsapp-mcp/whatsapp-bridge-v2
go build -o whatsapp-mcp ./cmd/whatsapp-mcp
Windows: CGO is required for SQLite. Install MSYS2, add
ucrt64\binto PATH, then rungo env -w CGO_ENABLED=1before building.
Configure your MCP client
Claude Desktop / Claude Code
Add to your Claude config:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Code:
~/.claude.json
{
"mcpServers": {
"whatsapp": {
"command": "/usr/local/bin/whatsapp-mcp",
"args": []
}
}
}
Replace
/usr/local/bin/whatsapp-mcpwith the actual path if you built from source (e.g./path/to/whatsapp-mcp/whatsapp-bridge-v2/whatsapp-mcp).
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"whatsapp": {
"command": "/usr/local/bin/whatsapp-mcp",
"args": []
}
}
}
3. Authenticate
- Start your MCP client (Claude Desktop, Claude Code, or Cursor)
- A QR code will appear in the terminal and be saved to
~/.whatsapp-mcp/qrcode.png - Scan with WhatsApp on your phone (Settings β Linked Devices β Link a Device)
- Wait for history sync to complete
- Session persists in
~/.whatsapp-mcp/whatsapp.dbβ re-authentication needed every ~20 days
Data Storage
All data is stored locally in ~/.whatsapp-mcp/ (no config file needed):
~/.whatsapp-mcp/whatsapp.dbβ WhatsApp session (whatsmeow)~/.whatsapp-mcp/messages.dbβ Messages, chats, contacts, groups~/.whatsapp-mcp/qrcode.pngβ QR code image (created on first launch)
MCP Tools (55 total)
Messaging (8)
| Tool | Description |
|---|---|
send_message | Send text message |
reply_to_message | Reply to a specific message |
forward_message | Forward a message |
edit_message | Edit a sent message |
delete_message | Delete a message |
react_to_message | Add emoji reaction |
star_message | Star a message |
unstar_message | Unstar a message |
Chats (11)
| Tool | Description |
|---|---|
list_chats | List all chats |
get_chat | Get chat details |
list_messages | Get messages from a chat |
archive_chat | Archive a chat |
unarchive_chat | Unarchive a chat |
pin_chat | Pin a chat |
unpin_chat | Unpin a chat |
mute_chat | Mute chat notifications |
unmute_chat | Unmute a chat |
mark_chat_read | Mark chat as read |
delete_chat | Delete a chat |
Contacts (6)
| Tool | Description |
|---|---|
search_contacts | Search contacts |
get_contact | Get contact details |
block_contact | Block a contact |
unblock_contact | Unblock a contact |
get_blocked_contacts | List blocked contacts |
check_phone_registered | Check if a phone number is registered |
Groups (13)
| Tool | Description |
|---|---|
create_group | Create a new group |
get_group_info | Get group info |
leave_group | Leave a group |
add_group_members | Add members |
remove_group_members | Remove members |
promote_admin | Promote to admin |
demote_admin | Demote from admin |
set_group_name | Change group name |
set_group_topic | Change group topic |
set_group_photo | Change group photo |
get_invite_link | Get invite link |
revoke_invite_link | Revoke invite link |
join_via_invite | Join via invite link |
Media (7)
| Tool | Description |
|---|---|
send_image | Send an image |
send_video | Send a video |
send_audio | Send audio/voice message |
send_document | Send a document |
send_location | Send a location |
send_contact_card | Send a contact card |
download_media | Download media from a message |
Presence (5)
| Tool | Description |
|---|---|
subscribe_presence | Subscribe to presence updates |
send_typing | Send typing indicator |
send_recording | Send recording indicator |
set_online | Set presence online |
set_offline | Set presence offline |
Status (4)
| Tool | Description |
|---|---|
post_text_status | Post text status |
post_image_status | Post image status |
get_status_updates | Get status updates |
delete_status | Delete status |
Bridge (2)
| Tool | Description |
|---|---|
get_bridge_status | Get health status |
get_connection_history | Get connection history |
Troubleshooting
- QR Code not appearing: Check stderr output, or open
~/.whatsapp-mcp/qrcode.png - Session expired: Delete
~/.whatsapp-mcp/whatsapp.dband restart to re-authenticate - Out of sync: Delete both
~/.whatsapp-mcp/*.dbfiles and restart - Windows CGO error (
Binary was compiled with 'CGO_ENABLED=0'): Install MSYS2, adducrt64\binto PATH, rungo env -w CGO_ENABLED=1 - Device limit reached: Remove a device in WhatsApp β Settings β Linked Devices
Security Note
As with all MCP servers, be aware of prompt injection risks. This server can read your WhatsApp messages and send messages on your behalf β only connect trusted AI clients.
Development
cd whatsapp-bridge-v2
go test ./...
go build ./...
License
MIT
