Allows interaction with WhatsApp to manage contacts, search and list chats, send and receive text messages, and handle media uploads and downloads.
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., "@WhatsApp MCP Streamsend a message to John Smith saying I'm on my way"
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.
WhatsApp MCP Stream
A WhatsApp MCP server built around Streamable HTTP transport, using Baileys for WhatsApp connectivity, with a web admin UI and bidirectional media flow (upload + download).
Key points:
Transport: Streamable HTTP at
/mcpEngine: Baileys
Admin UI: QR, status, logout, runtime settings
Media: upload endpoints +
/mediahosting + MCP download tool
Quick Start (Docker)
The server will be available at:
Admin UI:
http://localhost:3003/adminMCP endpoint:
http://localhost:3003/mcpMedia files:
http://localhost:3003/media/<filename>
Runtime Settings
Settings can be edited in the admin UI and are persisted to SETTINGS_PATH (defaults to MEDIA_DIR/settings.json).
Supported settings:
media_public_base_urlupload_max_mbupload_enabledmax_files_per_uploadrequire_upload_tokenupload_token
Authentication
Built-in authentication is not implemented yet. In production, use a gateway that enforces auth. This project works well behind authmcp-gateway:
Media Upload API
Base64 JSON:
Multipart (recommended for large files):
Both return url and (if configured) publicUrl.
Upload Auth (Optional)
If require_upload_token=true, provide a token with either:
x-upload-token: <token>Authorization: Bearer <token>
MCP Transport
The server exposes Streamable HTTP at /mcp.
Typical flow:
POST /mcpwith JSON-RPCinitializeUse the returned
mcp-session-idheader for subsequent requestsPOST /mcpfor tool calls
MCP Tools
Auth
Tool | Description |
| Get the latest WhatsApp QR code as an image for authentication. |
| Check if the WhatsApp client is authenticated and ready. |
| Logout from WhatsApp and clear the current session. |
Contacts
Tool | Description |
| Search contacts by name or phone number. |
| Get contact details by JID. |
Chats
Tool | Description |
| List chats with metadata and optional last message. |
| Get chat metadata by JID. |
| Resolve a direct chat JID by phone number. |
Messages
Tool | Description |
| Get messages from a specific chat. |
| Get a specific message by ID ( |
| Get recent messages around a specific message. |
| Get the most recent message for a JID. |
| Send a text message to a person or group. |
Media
Tool | Description |
| Send media (image/video/document/audio). |
| Download media from a message. |
Utility
Tool | Description |
| Health check tool. |
License
MIT