WAHA MCP
Enables interaction with WhatsApp via the WAHA HTTP API, allowing for session management, QR code authentication, sending and receiving text and media messages, and managing contacts and groups.
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., "@WAHA MCPSend a message to Sarah Miller saying I'll be there at 5 PM"
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.
WAHA MCP — WhatsApp via Docker MCP Toolkit
A self-hosted WhatsApp MCP server built on WAHA (WhatsApp HTTP API). Connects Claude Code, Claude Desktop, Cursor, Gemini, and other AI clients to WhatsApp through Docker's MCP Toolkit.
What's included
Component | Purpose |
| Runs the WAHA container (WhatsApp HTTP API) on port 3000 |
| Node.js MCP bridge — translates MCP tool calls into WAHA API requests |
| Builds the MCP bridge as a Docker image for the Toolkit |
| Registers the bridge in Docker MCP Toolkit |
| Local MCP config for direct use (outside Docker Toolkit) |
Prerequisites
Docker Desktop with MCP Toolkit enabled
Node.js 20+ (only needed if running the bridge locally outside Docker)
Installation
1. Clone and configure
git clone https://github.com/YOUR_USERNAME/waha-mcp.git
cd waha-mcp
cp .env.example .envEdit .env and set your credentials:
WAHA_API_KEY=your-secret-api-key
WAHA_DASHBOARD_USERNAME=admin
WAHA_DASHBOARD_PASSWORD=your-dashboard-password
WHATSAPP_SWAGGER_USERNAME=admin
WHATSAPP_SWAGGER_PASSWORD=your-swagger-passwordThe
WAHA_API_KEYcan be any string — just keep it consistent between the WAHA container and the MCP bridge.
2. Start WAHA
docker compose up -dWAHA will be available at http://localhost:3000. The dashboard is at http://localhost:3000/dashboard.
3. Build the MCP bridge image
docker build -f Dockerfile.mcp -t waha-whatsapp-mcp:latest .4. Register with Docker MCP Toolkit
docker mcp catalog create waha-local
docker mcp catalog add waha-local whatsapp-waha-bridge ./toolkit-catalog.yaml --force
docker mcp catalog update waha-local
docker mcp server enable whatsapp-waha-bridge5. Connect to your AI client
# Claude Code
docker mcp client connect claude-code
# Claude Desktop
docker mcp client connect claude-desktop
# Cursor
docker mcp client connect cursor
# Gemini
docker mcp client connect geminiRestart your AI client after connecting.
6. Authenticate WhatsApp
On first run you need to scan a QR code to link WhatsApp:
Ask your AI: "Start a WhatsApp session" — it will call
waha_start_sessionAsk: "Show me the WhatsApp QR code" — it will call
waha_get_qrIn WhatsApp on your phone: Settings → Linked Devices → Link a Device → scan the QR
Wait ~10 seconds and ask: "Is WhatsApp connected?" — status should be
WORKING
Your session is saved in the .sessions/ volume and survives container restarts.
Available MCP tools
Session management
Tool | Description |
| List all WAHA sessions |
| Get session details and status |
| Start a new session |
| Get QR code for authentication |
| Get info about the authenticated account |
Contacts & groups
Tool | Description |
| Find a contact by name |
| List recent chats |
| Search groups by name |
| Find groups shared with a contact |
Messages
Tool | Description |
| Get messages from a chat |
| Get the most recent incoming message |
| Get the last message from a specific contact |
| Search messages across chats |
| Check message history sync status |
| Sync recent message history |
Sending
Tool | Description |
| Send a text message by chat ID |
| Send a text message by contact name |
| Send a text message to a group by name |
| Send an image |
| Send a file |
| Send a video |
| Send a voice message |
Environment variables
Variable | Default | Description |
|
| WAHA API base URL (bridge uses |
| (required) | Must match the key set in the WAHA container |
| — | Dashboard login username |
| — | Dashboard login password |
| — | Swagger UI login username |
| — | Swagger UI login password |
Updating
To pick up changes to the MCP bridge:
git pull
docker build -f Dockerfile.mcp -t waha-whatsapp-mcp:latest .
docker mcp catalog add waha-local whatsapp-waha-bridge ./toolkit-catalog.yaml --force
docker mcp catalog update waha-localThen restart your AI client.
Troubleshooting
Tools not appearing in your AI client
docker mcp server ls # confirm whatsapp-waha-bridge is enabled
docker mcp client ls --global # confirm your client is connectedIf the client shows disconnected: docker mcp client connect <client-name> then restart the client.
WhatsApp session dropped
docker compose up -d # ensure WAHA is runningThen call waha_start_session and waha_get_qr to re-authenticate.
MCP bridge can't reach WAHA
The toolkit container uses http://host.docker.internal:3000 to reach WAHA via the published port. Make sure the WAHA container is running and port 3000 is not blocked.
License
MIT
This server cannot be installed
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
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/Ap0c123/waha-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server