WAHA MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WAHA_API_KEY | Yes | Your WAHA API key for authentication | |
| WAHA_SESSION | No | WhatsApp session name | default |
| WAHA_BASE_URL | Yes | Your WAHA server URL (e.g., http://localhost:3000) |
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| waha_get_chatsA | Get overview of recent WhatsApp chats. Returns chat ID, name, last message preview, and unread count. Default limit is 10 chats. |
| waha_get_messagesA | Get messages from a specific WhatsApp chat. Returns message content, sender, timestamp, and status. Default limit is 10 messages. |
| waha_send_messageC | Send a text message to a WhatsApp chat. Returns message ID and delivery timestamp. |
| waha_mark_chat_readB | Mark messages in a chat as read. Can specify number of recent messages or time range in days. |
| waha_delete_messageA | Delete a specific message from a chat. This is a destructive operation and cannot be undone. |
| waha_edit_messageA | Edit a sent message in a chat. Only works for messages sent by the bot. |
| waha_pin_messageC | Pin a message in a chat. Pinned messages appear at the top of the chat. |
| waha_unpin_messageC | Unpin a message in a chat. |
| waha_clear_chat_messagesA | Clear all messages from a chat. WARNING: This is a destructive operation that cannot be undone. |
| waha_delete_chatA | Delete a chat completely. WARNING: This is a destructive operation that cannot be undone. |
| waha_archive_chatC | Archive a chat. Archived chats are hidden from the main chat list. |
| waha_unarchive_chatB | Unarchive a chat. Moves the chat back to the main chat list. |
| waha_mark_chat_unreadC | Mark a chat as unread. This adds an unread indicator to the chat. |
| waha_get_chat_pictureA | Get the profile picture URL for a chat. Uses 24-hour cache by default. |
| waha_send_mediaC | Send media files (images, videos, or documents) to a WhatsApp chat. Supports URL or base64 data. |
| waha_send_audioC | Send audio/voice messages to a WhatsApp chat. Supports URL or base64 data. |
| waha_send_locationC | Send location coordinates to a WhatsApp chat. |
| waha_send_contactB | Send contact card(s) to a WhatsApp chat using vCard format. |
| waha_react_to_messageA | Add an emoji reaction to a message. To remove a reaction, send an empty string. |
| waha_star_messageC | Star or unstar a message. |
| waha_get_groupsC | List all groups with filtering and pagination options. |
| waha_get_group_infoC | Get detailed information about a specific group. |
| waha_get_group_pictureB | Get group profile picture URL. |
| waha_set_group_pictureC | Set or update group profile picture. |
| waha_delete_group_pictureC | Remove group profile picture. |
| waha_create_groupC | Create a new WhatsApp group. |
| waha_update_group_subjectC | Change group name/subject. |
| waha_update_group_descriptionC | Update group description. |
| waha_leave_groupC | Leave a group. |
| waha_get_group_participantsC | List all members in a group. |
| waha_add_group_participantsB | Add member(s) to a group. Requires admin privileges. |
| waha_remove_group_participantsB | Remove member(s) from a group. Requires admin privileges. |
| waha_promote_group_adminB | Promote participant(s) to group admin. Requires admin privileges. |
| waha_demote_group_adminB | Remove admin privileges from participant(s). Requires admin privileges. |
| waha_get_group_invite_codeC | Get group invite link. |
| waha_revoke_group_invite_codeA | Revoke current invite link and generate a new one. Requires admin privileges. |
| waha_join_groupC | Join a group using invite code/link. |
| waha_get_group_join_infoA | Get group information from invite link without joining. |
| waha_set_group_messages_admin_onlyA | Toggle whether only admins can send messages. Requires admin privileges. |
| waha_set_group_info_admin_onlyA | Toggle whether only admins can edit group info. Requires admin privileges. |
| waha_get_groups_countB | Get total number of groups. |
| waha_get_contactB | Get contact information by ID. |
| waha_get_all_contactsC | List all contacts with pagination. |
| waha_check_contact_existsC | Check if phone number is registered on WhatsApp. |
| waha_get_contact_aboutC | Get contact's about/status text. |
| waha_get_contact_profile_pictureC | Get contact's profile picture URL. |
| waha_block_contactC | Block a contact. |
| waha_unblock_contactB | Unblock a contact. |
| waha_get_presenceA | Get online/offline/typing status for a chat. Auto-subscribes if not already subscribed. |
| waha_subscribe_presenceC | Subscribe to presence updates for a chat. |
| waha_set_presenceC | Set your own presence status (online, offline, typing, recording, or paused). |
| waha_get_all_presenceB | Get all subscribed presence information. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| WhatsApp Chats Overview | Overview of recent WhatsApp chats with last message previews. Supports parameters: limit (default: 10, max: 100), offset (for pagination), ids (comma-separated chat IDs to filter) |
| WhatsApp Chat Messages | Messages from a specific WhatsApp chat. URI format: waha://chat/{chatId}/messages?limit=10&offset=0 Supports parameters: limit (default: 10, max: 100), offset (for pagination), downloadMedia (true/false), timestampGte, timestampLte, fromMe (true/false) |
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/seejux/waha-whatsapp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server