WSAPI WhatsApp MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Server port | 3000 |
| NODE_ENV | No | Environment (development, production, test) | development |
| LOG_LEVEL | No | Logging level (error, warn, info, debug) | info |
| WSAPI_API_KEY | Yes | Your WSAPI API key | |
| WSAPI_TIMEOUT | No | Request timeout in milliseconds | 30000 |
| WSAPI_BASE_URL | No | WSAPI base URL | https://api.wsapi.chat |
| WSAPI_INSTANCE_ID | Yes | Your WSAPI instance ID | |
| WSAPI_RETRY_DELAY | No | Delay between retries in milliseconds | 1000 |
| WSAPI_RETRY_ATTEMPTS | No | Number of retry attempts | 3 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whatsapp_send_textB | Send a text message to a WhatsApp contact or group. Supports mentions, replies, and ephemeral expiration. |
| whatsapp_send_imageB | Send an image message. Provide either data (base64) or url. |
| whatsapp_send_videoB | Send a video message. Provide either data (base64) or url. |
| whatsapp_send_linkC | Send a link message with optional preview. |
| whatsapp_send_reactionA | Send a reaction (emoji) to a message. Send empty string to remove reaction. |
| whatsapp_edit_messageB | Edit a previously sent text message. |
| whatsapp_delete_messageC | Delete a message for all participants. |
| whatsapp_delete_message_for_meB | Delete a message only for yourself. |
| whatsapp_mark_message_readB | Mark a message as read. |
| whatsapp_star_messageB | Star or unstar a message. |
| whatsapp_pin_messageB | Pin or unpin a message in a chat. |
| whatsapp_send_audioC | Send an audio file message. Provide either data (base64) or url. |
| whatsapp_send_voiceC | Send a voice message (PTT). Provide either data (base64) or url. |
| whatsapp_send_documentA | Send a document file. Provide either data (base64) or url. Filename is required. |
| whatsapp_send_stickerB | Send a sticker message (WebP format). Provide either data (base64) or url. |
| whatsapp_send_locationC | Send a location message. |
| whatsapp_send_contactC | Send a contact (vCard) message. Provide either displayName or vcard. |
| whatsapp_get_contactsA | Get list of all WhatsApp contacts. |
| whatsapp_get_contactC | Get information about a specific WhatsApp contact. |
| whatsapp_create_contactB | Create or update a WhatsApp contact. |
| whatsapp_sync_contactsA | Trigger a full contact sync from the WhatsApp server. |
| whatsapp_get_blocklistA | Get the list of all blocked contacts. |
| whatsapp_block_contactC | Block a contact. |
| whatsapp_unblock_contactB | Unblock a contact. |
| whatsapp_get_groupsB | Get list of all WhatsApp groups. |
| whatsapp_create_groupC | Create a new WhatsApp group. |
| whatsapp_get_groupB | Get information about a specific group. |
| whatsapp_update_group_nameB | Update group name. |
| whatsapp_update_group_descriptionC | Update group description. |
| whatsapp_set_group_pictureB | Set group profile picture. |
| whatsapp_leave_groupB | Leave a group. |
| whatsapp_get_group_participantsC | Get group participants. |
| whatsapp_update_group_participantsB | Add, remove, promote, or demote group participants. |
| whatsapp_get_group_invite_linkB | Get group invite link. |
| whatsapp_reset_group_invite_linkC | Reset group invite link. |
| whatsapp_set_group_announceB | Set group announce mode (only admins can send messages). |
| whatsapp_set_group_lockedB | Set group locked mode (only admins can edit info). |
| whatsapp_set_group_join_approvalA | Set group join approval mode (new members require admin approval). |
| whatsapp_set_group_member_add_modeB | Control whether only admins can add members. |
| whatsapp_join_group_with_linkB | Join a group via invite link code. |
| whatsapp_join_group_with_inviteA | Accept a group invite received via direct message. |
| whatsapp_get_group_info_from_linkA | Preview group information from an invite code without joining. |
| whatsapp_get_group_requestsB | Get pending join requests for a group. |
| whatsapp_update_group_requestsB | Approve or reject pending join requests. |
| whatsapp_get_chatsA | Get list of all WhatsApp chats. |
| whatsapp_get_chatC | Get information about a specific chat. |
| whatsapp_delete_chatC | Delete a chat. |
| whatsapp_get_chat_pictureC | Get chat profile picture. |
| whatsapp_get_chat_business_profileC | Get business profile for a chat. |
| whatsapp_set_chat_presenceB | Set presence status in a chat (typing, recording, paused). |
| whatsapp_subscribe_chat_presenceC | Subscribe to presence updates for a chat. |
| whatsapp_set_chat_ephemeralB | Set disappearing messages timer for a chat. |
| whatsapp_mute_chatB | Mute or unmute a chat. |
| whatsapp_archive_chatB | Archive or unarchive a chat. |
| whatsapp_pin_chatB | Pin or unpin a chat. |
| whatsapp_mark_chat_as_readC | Mark a chat as read or unread. |
| whatsapp_request_chat_messagesC | Request on-demand message history for a chat. Results arrive asynchronously. |
| whatsapp_clear_chatB | Clear all messages from a chat. |
| whatsapp_get_session_statusA | Get current WhatsApp session status. |
| whatsapp_get_qr_codeA | Get QR code text string for WhatsApp login. |
| whatsapp_get_qr_code_imageB | Get QR code PNG image for WhatsApp login. |
| whatsapp_get_pair_codeC | Get pairing code for WhatsApp login. |
| whatsapp_logoutA | Logout from WhatsApp. |
| whatsapp_flush_historyA | Flush cached history sync messages. Returns 202 Accepted, then asynchronously publishes cached history sync messages as events. |
| whatsapp_get_my_profileA | Get own WhatsApp profile info. |
| whatsapp_update_my_profileA | Update own WhatsApp profile. All fields are optional. |
| whatsapp_set_presenceB | Set account presence state (available or unavailable). |
| whatsapp_get_privacy_settingsA | Get current privacy settings. |
| whatsapp_set_privacy_settingC | Update a single privacy setting. |
| whatsapp_check_userB | Check if a phone number is registered on WhatsApp. |
| whatsapp_bulk_check_usersB | Check multiple phone numbers at once to see if they are registered on WhatsApp. |
| whatsapp_get_user_profileA | Get profile info for a specific user by phone number. |
| whatsapp_list_communitiesA | List all joined communities. |
| whatsapp_create_communityC | Create a new WhatsApp community. |
| whatsapp_get_communityB | Get community info. |
| whatsapp_leave_communityB | Leave a community. |
| whatsapp_set_community_nameC | Set community name. |
| whatsapp_set_community_descriptionC | Set community description. |
| whatsapp_set_community_pictureB | Set community profile picture. |
| whatsapp_set_community_lockedB | Set community locked mode (only admins can edit info). |
| whatsapp_get_community_participantsC | Get community participants. |
| whatsapp_update_community_participantsB | Add, remove, promote, or demote community participants. |
| whatsapp_get_community_invite_linkC | Get community invite link. |
| whatsapp_reset_community_invite_linkD | Reset community invite link. |
| whatsapp_get_community_sub_groupsB | Get community sub-groups. |
| whatsapp_create_community_groupB | Create a new sub-group inside a community. |
| whatsapp_link_group_to_communityC | Link an existing group to a community. |
| whatsapp_unlink_community_groupB | Unlink a group from a community. |
| whatsapp_list_newslettersB | List all subscribed newsletters. |
| whatsapp_create_newsletterC | Create a new newsletter/channel. |
| whatsapp_get_newsletter_by_inviteB | Get newsletter info by invite code. |
| whatsapp_get_newsletterB | Get newsletter info by JID. |
| whatsapp_set_newsletter_subscriptionB | Subscribe or unsubscribe from a newsletter. |
| whatsapp_mute_newsletterB | Mute or unmute a newsletter. |
| whatsapp_get_status_privacyA | Get status broadcast privacy settings. |
| whatsapp_post_text_statusB | Post a text status update (story). |
| whatsapp_post_image_statusB | Post an image status update. Provide either data (base64) or url. |
| whatsapp_post_video_statusB | Post a video status update. Provide either data (base64) or url. |
| whatsapp_delete_statusB | Delete a previously posted status update. |
| whatsapp_reject_callC | Reject an incoming call. |
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/wsapi-chat/wsapi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server