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. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/dudu1111685/hermes_mcps'
If you have feedback or need assistance with the MCP directory API, please join our Discord server