mcp-whatsapp
Allows AI agents to interact with WhatsApp as a regular user, including sending/receiving messages, media, managing groups, communities, channels, privacy settings, and more.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-whatsappsend 'Hello' to John"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-whatsapp
WhatsApp MCP Server — connect AI agents to WhatsApp as a regular user.
Overview
MCP (Model Context Protocol) server that connects AI agents to WhatsApp through the multi-device API. Works as a regular WhatsApp user — not a business bot.
Built with Baileys, Bun, and TypeScript.
⚠️ Disclaimer: This project uses an unofficial WhatsApp API. Your account could be restricted or banned by WhatsApp. Use a secondary phone number. We are not responsible for any account actions taken by WhatsApp.
Related MCP server: WhatsApp Business API MCP Server
Features
🔌 MCP Protocol — works with Claude Desktop, Cursor, and any MCP client
💬 Messages — send, read, edit, delete, forward, react, polls, star
📎 Media — images, videos, documents, stickers, voice notes, audio, locations, contacts
👥 Groups — create, manage members, promote/demote admins, invite links, settings
🏘️ Communities — create, link/unlink groups, manage members
📢 Channels — create, follow/unfollow, mute newsletters
🏷️ Labels — label chats and messages (WhatsApp Business)
🔒 Privacy — last seen, profile photo, online status, read receipts, group add
👤 Profile — update name, status, picture, business profiles, call links
🗂️ Chats — list, search, archive, mute, pin, mark read, disappearing messages
🔐 Machine-bound sessions — encrypted with hardware ID, useless if copied to another device
📦 Single binary — no Node.js, no npm, just download and run
Quick Start
Download binary
Grab the latest release for your platform from GitHub Releases.
# Linux
chmod +x mcp-whatsapp-linux-x64
./mcp-whatsapp-linux-x64
# macOS
chmod +x mcp-whatsapp-darwin-arm64
./mcp-whatsapp-darwin-arm64Build from source
git clone https://github.com/gridmint/mcp-whatsapp.git
cd mcp-whatsapp
bun install
bun run build
./mcp-whatsappConnect to Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"whatsapp": {
"command": "/path/to/mcp-whatsapp"
}
}
}Tools (77)
Messages (10)
Tool | Description |
| Send text with optional quote/reply |
| Send an image with optional caption |
| Send a file/document |
| React to a message with emoji |
| Read recent messages from a chat |
| Delete a message for everyone |
| Edit a sent message |
| Forward a message to another chat |
| Create a poll with multiple options |
| Star or unstar a message |
Chats (7)
Tool | Description |
| List all conversations |
| Get chat/group details |
| Search messages by keyword |
| Archive or unarchive a chat |
| Mute or unmute notifications |
| Pin or unpin a chat |
| Mark all messages as read |
Contacts (5)
Tool | Description |
| Check if number is on WhatsApp |
| Get profile picture URL |
| Get contact's about/status text |
| Block or unblock a contact |
| Set online/offline/typing status |
Groups (13)
Tool | Description |
| Create a new group |
| Get full group info & participants |
| Change group name |
| Change group description |
| Add members to a group |
| Remove members from a group |
| Promote members to admin |
| Demote admins to members |
| Leave a group |
| Get group invite link |
| Revoke and regenerate invite link |
| Join group using invite code |
| Update who can send/edit info |
Media (7)
Tool | Description |
| Send video (or GIF) |
| Send a sticker |
| Send voice note (with waveform) |
| Send audio file |
| Send a location pin |
| Send a contact card (vCard) |
| Download media from a message |
Channels / Newsletters (6)
Tool | Description |
| Create a WhatsApp Channel |
| Get channel metadata |
| Subscribe to a channel |
| Unsubscribe from a channel |
| Mute channel notifications |
| Unmute channel notifications |
Privacy (7)
Tool | Description |
| Get current privacy settings |
| Who sees your last seen |
| Who sees your profile photo |
| Who sees your about/status |
| Toggle blue ticks |
| Who can add you to groups |
| Who sees when you're online |
Communities (11)
Tool | Description |
| Create a new community |
| Get community info |
| List linked groups |
| Create a group in a community |
| Link existing group to community |
| Unlink a group |
| Update community name |
| Update community description |
| Leave a community |
| Add members |
| Remove members |
Labels (4)
Tool | Description |
| Add label to a chat |
| Remove label from a chat |
| Add label to a message |
| Remove label from a message |
Profile & Misc (6)
Tool | Description |
| Change your display name |
| Change your about text |
| Change your profile photo |
| Get business profile info |
| Create audio/video call link |
| Toggle disappearing messages |
Status (1)
Tool | Description |
| Connection state + rate limit stats |
Rate Limiting
Built-in sliding-window rate limiter protects your account from bans:
Global: 30 write operations per minute
Per-chat: 10 write operations per minute
Read operations (list, search, get) are not rate-limited
Exceeding limits returns a clear error with retry timing
Authentication
On first run, a QR code is displayed in the terminal. Scan it with WhatsApp on your phone:
Open WhatsApp → Settings → Linked Devices → Link a Device
Scan the QR code
Session is saved to ~/.mcp-whatsapp/auth/ — you won't need to scan again unless you log out.
Security
Session files are encrypted at rest (AES-256-GCM). By default, the encryption key is derived from your machine's hardware ID — no configuration needed.
✅ On your machine — works automatically, no extra steps
❌ Copied to another machine — can't decrypt, must scan QR again
❌ Stolen backup — encrypted, useless without the original hardware
Optionally, set your own encryption key via environment variable:
export MCP_WHATSAPP_SESSION_KEY=my-secret-keyThis is useful for Docker containers, CI, or when you want to control the key yourself. If set, it takes priority over the machine ID.
Additional recommendations:
Use a secondary phone number — your main account stays safe
Check Linked Devices in WhatsApp periodically
Keep your machine secure (disk encryption, strong passwords)
Development
bun install # install dependencies
bun run dev # run in development mode
bun run lint # check code with Biome
bun run lint:fix # auto-fix lint issues
bun run format # format code
bun test # run testsRoadmap
Group management(v0.2.0)Stickers, GIFs, voice messages(v0.2.0)Newsletters/Channels(v0.2.0)Privacy settings(v0.2.0)Polls(v0.2.0)Community management(v0.3.0)Business features (labels)(v0.3.0)Profile management(v0.3.0)Call link creation(v0.3.0)Disappearing messages(v0.3.0)Status/Stories (view and post)
Product catalogs
Rate limiting (ban protection)
License
MIT — see LICENSE.
Related
mcp-telegram — Telegram MCP server by the same team
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gridmint/mcp-whatsapp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server