WhatsApp MCP for macOS
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whatsapp_statusA | Check WhatsApp connection status. Returns current status: 'connected', 'qr_pending', 'disconnected', or 'bridge_offline'. If QR code is needed, returns a data URL you can open in a browser to scan. Call this before sending messages to ensure WhatsApp is connected. |
| whatsapp_search_contactsA | Search WhatsApp contacts by name or phone number. Returns matching contacts with their JID, display name, and phone number. Use this to find a contact before reading their messages or sending them a message. Args: query: Name or phone number to search for (partial match supported). |
| whatsapp_list_chatsA | List recent WhatsApp chats ordered by last message time. Args: limit: Number of chats to return (max 50). chat_type: Filter by 'dm', 'group', or 'all'. |
| whatsapp_get_messagesA | Get messages from a specific WhatsApp chat. Args: chat_jid: JID of the chat (from whatsapp_search_contacts or whatsapp_list_chats). after: Only messages after this datetime (ISO 8601). Defaults to 24h ago. before: Only messages before this datetime (ISO 8601). Defaults to now. limit: Max messages to return (max 200). search_text: Optional text to filter messages. |
| whatsapp_search_messagesA | Search for messages containing specific text across all chats. Args: query: Text to search for (case-insensitive). chat_jid: Optional - restrict search to a specific chat. limit: Max results (max 50). |
| whatsapp_unreadA | Get a summary of all unread WhatsApp messages. Returns chats with unread messages and recent message previews. Great for "catch me up" or "what did I miss" requests. |
| whatsapp_sendA | Send a WhatsApp message. IMPORTANT:
Args: recipient_jid: The JID from whatsapp_search_contacts. message: The text message to send. |
| whatsapp_incomingA | Get recent incoming WhatsApp messages from the live connection. These are real-time messages, not from the local database. Useful for checking new messages that just arrived. Args: since_minutes: Look back N minutes (default 5, max 60). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_status | Current WhatsApp connection status. |
| resource_unread | Summary of unread WhatsApp messages. |
| resource_chats | Recent WhatsApp chats. |
TDQS
Scored across 8 tools
Most tools have distinct purposes, but whatsapp_get_messages and whatsapp_search_messages could cause confusion as both retrieve messages with text filtering. whatsapp_get_messages focuses on a specific chat with time filters, while whatsapp_search_messages searches across all chats, but the overlap in functionality might lead to misselection by agents.
All tools follow a consistent 'whatsapp_verb_noun' pattern with snake_case throughout. The naming is predictable and clear, making it easy for agents to understand the action and target resource without ambiguity.
With 8 tools, this server is well-scoped for managing WhatsApp interactions on macOS. It covers essential operations like checking status, listing chats, searching contacts, retrieving messages, and sending messages, which is appropriate for the domain without being overly complex or sparse.
The toolset provides good coverage for core WhatsApp workflows, including status checks, contact search, message retrieval, and sending. However, there are minor gaps such as the inability to delete messages or manage group settings, which agents might need to work around, but the surface supports most common use cases effectively.