WAHA MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WAHA_URL | No | The URL of your running WAHA (WhatsApp HTTP API) instance. Defaults to http://localhost:3001. | http://localhost:3001 |
| WAHA_API_KEY | Yes | API key generated from your WAHA dashboard for authentication. | |
| USER_WHATSAPP_CHAT_ID | No | Your WhatsApp chat ID (e.g., 1234567890@c.us) used for the 'ask_user_via_whatsapp' tool during autonomous development workflows. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| waha_list_sessionsB | List all WhatsApp sessions and their statuses |
| waha_get_sessionB | Get detailed info about a specific WhatsApp session |
| waha_create_sessionC | Create a new WhatsApp session |
| waha_start_sessionC | Start a stopped WhatsApp session |
| waha_stop_sessionC | Stop a running WhatsApp session |
| waha_restart_sessionB | Restart a WhatsApp session |
| waha_delete_sessionC | Delete a WhatsApp session permanently |
| waha_logout_sessionA | Logout from a WhatsApp session (keeps session but disconnects WhatsApp account) |
| waha_get_qr_codeB | Get QR code for WhatsApp authentication. Returns the raw QR string value that can be used to generate a scannable QR code. |
| waha_request_pairing_codeB | Request a pairing code for phone number authentication (alternative to QR code). The user will receive a code on their phone to enter in WhatsApp. |
| waha_check_auth_statusB | Check the authentication status of a WhatsApp session |
| waha_send_textB | Send a text message to a WhatsApp chat |
| waha_send_imageB | Send an image to a WhatsApp chat (from local file OR URL) |
| waha_send_videoC | Send a video to a WhatsApp chat (from local file OR URL) |
| waha_send_voiceC | Send a voice message to a WhatsApp chat (from local file OR URL) |
| waha_send_fileC | Send a document/file to a WhatsApp chat (from local file OR URL) |
| waha_send_locationC | Send a location to a WhatsApp chat |
| waha_send_contactC | Send contact card(s) (vCard) to a WhatsApp chat |
| waha_send_pollC | Send a poll to a WhatsApp chat |
| waha_react_to_messageC | React to a message with an emoji |
| waha_get_messagesC | Get messages from a WhatsApp chat with optional filters |
| waha_delete_messageC | Delete a message from a WhatsApp chat |
| waha_edit_messageC | Edit a previously sent message |
| waha_mark_as_readC | Mark messages in a chat as read (send seen) |
| waha_star_messageC | Star or unstar a message |
| waha_forward_messageC | Forward a message to another chat |
| waha_list_chatsB | List all chats in a WhatsApp session |
| waha_get_chatC | Get detailed info about a specific chat |
| waha_archive_chatC | Archive or unarchive a chat |
| waha_pin_chatC | Pin or unpin a chat |
| waha_mute_chatC | Mute or unmute a chat |
| waha_delete_chatC | Delete a chat entirely |
| waha_clear_chatC | Clear all messages in a chat |
| waha_get_contactsC | Get all contacts from a WhatsApp session |
| waha_get_contactC | Get info about a specific contact |
| waha_check_number_existsB | Check if a phone number is registered on WhatsApp |
| waha_block_contactC | Block or unblock a contact |
| waha_get_profile_pictureB | Get the profile picture URL of a contact or group |
| waha_create_groupC | Create a new WhatsApp group |
| waha_list_groupsC | List all WhatsApp groups |
| waha_get_groupC | Get detailed info about a specific group |
| waha_get_group_participantsB | List all participants in a group |
| waha_add_group_participantsC | Add participants to a group |
| waha_remove_group_participantsC | Remove participants from a group |
| waha_promote_group_participantC | Promote participant(s) to group admin |
| waha_demote_group_participantC | Demote admin(s) to regular participant in a group |
| waha_update_group_subjectC | Update the name/subject of a group |
| waha_update_group_descriptionC | Update the description of a group |
| waha_update_group_pictureC | Set the profile picture of a group |
| waha_leave_groupC | Leave a WhatsApp group |
| waha_get_group_invite_codeB | Get the invite link/code for a group |
| waha_revoke_group_inviteC | Revoke the current invite link and generate a new one |
| waha_set_presenceB | Set your presence status (online/offline) |
| waha_get_presenceB | Get presence status of a contact (online/offline/typing) |
| waha_start_typingC | Show typing indicator in a chat (simulates real user behavior) |
| waha_stop_typingC | Stop showing typing indicator in a chat |
| waha_send_statusC | Post a text status/story update |
| waha_get_labelsC | Get all labels/categories in a WhatsApp session |
| waha_create_labelC | Create a new label |
| waha_delete_labelC | Delete a label |
| waha_add_label_to_chatC | Add a label to a chat |
| waha_remove_label_from_chatC | Remove a label from a chat |
| ask_user_via_whatsappA | 🤖 IMPORTANT FOR AI ASSISTANTS: Use this tool instead of stopping work when you need user input! WHEN TO USE:
DO NOT:
HOW IT WORKS:
EXAMPLE USAGE: const answer = await ask_user_via_whatsapp({ question: "Should I use REST or GraphQL for this API?", chatId: "1234567890@c.us", timeoutMinutes: 30 }); // Parse answer and continue working USER EXPERIENCE: User gets WhatsApp notification → replies from phone → you continue instantly This enables truly autonomous AI development! |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/dudu1111685/waha-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server