OpenWA MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENWA_API_KEY | Yes | API key for authenticating with the OpenWA server | |
| OPENWA_BASE_URL | Yes | Base URL of the OpenWA REST API instance |
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 |
|---|---|
| get_sessionsA | List all WhatsApp sessions currently managed by OpenWA |
| create_sessionC | Create a new WhatsApp session with the given name |
| start_sessionA | Start a stopped WhatsApp session to make it active |
| stop_sessionB | Stop a running WhatsApp session gracefully |
| delete_sessionA | Permanently delete a WhatsApp session and its data |
| get_session_qrA | Get the QR code data for authenticating a WhatsApp session. Use this when a session needs to be scanned with WhatsApp mobile. |
| get_session_statusB | Check the current connection status of a WhatsApp session (connected, disconnected, etc.) |
| send_textA | Send a text message to a WhatsApp chat. chatId format: 5511999999999@c.us for contacts or 5511999999999-1234567890@g.us for groups. |
| send_imageB | Send an image to a WhatsApp chat by providing a publicly accessible URL |
| send_fileA | Send a file/document to a WhatsApp chat by providing a publicly accessible URL |
| send_audioB | Send an audio file to a WhatsApp chat by providing a publicly accessible URL |
| send_videoA | Send a video to a WhatsApp chat by providing a publicly accessible URL |
| react_to_messageA | React to a specific WhatsApp message with an emoji |
| get_messagesB | Retrieve message history from a specific WhatsApp chat |
| delete_messageB | Delete a specific message from a WhatsApp chat |
| send_bulk_textB | Send the same text message to multiple WhatsApp recipients at once |
| send_bulk_imageB | Send the same image to multiple WhatsApp recipients at once |
| get_groupsB | List all WhatsApp groups visible to the given session |
| create_groupB | Create a new WhatsApp group with specified participants |
| get_group_infoA | Get detailed information about a specific WhatsApp group including members, admins, and settings |
| add_group_memberB | Add a participant to a WhatsApp group |
| remove_group_memberB | Remove a participant from a WhatsApp group |
| promote_memberB | Promote a group participant to admin role |
| demote_memberB | Demote a group admin back to regular participant |
| send_group_messageC | Send a text message directly to a WhatsApp group |
| leave_groupB | Leave a WhatsApp group |
| update_group_subjectB | Change the name/subject of a WhatsApp group |
| get_contactsA | List all contacts stored in the WhatsApp session |
| get_contactB | Get detailed info for a specific WhatsApp contact |
| check_numberB | Check if a phone number is registered on WhatsApp |
| get_profile_pictureA | Get the profile picture URL for a WhatsApp contact |
| block_contactC | Block a WhatsApp contact |
| unblock_contactA | Unblock a previously blocked WhatsApp contact |
| list_webhooksA | List all webhooks configured for a WhatsApp session |
| create_webhookB | Create a new webhook to receive WhatsApp events at a URL |
| delete_webhookB | Delete a webhook from a WhatsApp session |
| update_webhookC | Update an existing webhook configuration |
| get_labelsB | List all labels/tags in the WhatsApp session |
| create_labelB | Create a new label/tag for organizing WhatsApp chats |
| delete_labelB | Delete a label from the WhatsApp session |
| add_label_to_chatB | Apply a label to a specific WhatsApp chat |
| remove_label_from_chatB | Remove a label from a specific WhatsApp chat |
| get_mediaB | Download media (image, video, audio, document) from a received WhatsApp message by its message ID |
| upload_mediaB | Upload media to OpenWA for later use in messages |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 44 tools
Most tools have distinct purposes, but there is overlap between send_text and send_group_message as both can send text to groups. Other tools are clearly separated by resource or action.
All tools follow a consistent verb_noun pattern with underscores (e.g., add_group_member, block_contact). No mixing of styles or irregular naming.
With 44 tools, the server is overly large for its scope. Many operations could be combined (e.g., send_bulk_text and send_bulk_image could share a parameter), exceeding the recommended maximum of 25.
The tool set covers all major WhatsApp operations: sessions, contacts, groups, messaging (including media and bulk), labels, and webhooks. No obvious gaps for typical use cases.