whatsapp-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging verbosity: info or debug | info |
| WEBHOOK_PATH | No | HTTP path for webhooks | /webhook |
| WEBHOOK_PORT | No | Port for incoming webhook server (default: off). Set to 3000 to enable | |
| WHATSAPP_API_VERSION | No | WhatsApp Cloud API version | v21.0 |
| WHATSAPP_ACCESS_TOKEN | Yes | Permanent access token for your app (generate in Meta App Dashboard) | |
| WHATSAPP_PHONE_NUMBER_ID | Yes | Your WhatsApp phone number ID (from Meta App Dashboard > WhatsApp > API Setup) | |
| WHATSAPP_BUSINESS_ACCOUNT_ID | No | WhatsApp Business Account ID — required for listing phone numbers and templates | |
| WHATSAPP_WEBHOOK_VERIFY_TOKEN | No | Random secret string — must match what you enter in Meta App Dashboard. Required for webhook functionality. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whatsapp_send_textA | Send a text message to a WhatsApp phone number. Supports up to 4096 characters and optional URL preview. |
| whatsapp_send_imageB | Send an image message to a WhatsApp phone number. Provide a publicly accessible image URL. |
| whatsapp_send_videoC | Send a video message to a WhatsApp phone number. Provide a publicly accessible video URL. |
| whatsapp_send_audioB | Send an audio message to a WhatsApp phone number. Provide a publicly accessible audio URL. |
| whatsapp_send_documentA | Send a document or file to a WhatsApp phone number. Supports PDF, Word, Excel, and other common formats. |
| whatsapp_send_reactionB | React to a WhatsApp message with an emoji. |
| whatsapp_mark_readA | Mark an incoming WhatsApp message as read. This sends a read receipt to the sender. |
| whatsapp_list_conversationsA | List recent WhatsApp conversations. Only available when the webhook server is running and has received messages. |
| whatsapp_get_conversationA | Get the message history for a conversation with a specific phone number. Requires webhook server. |
| whatsapp_get_message_statusA | Get the delivery/read status of a previously sent message. Requires webhook server for live updates. |
| whatsapp_get_contactA | [LEGACY / UNSUPPORTED] Look up a phone number to check if it has a WhatsApp account and retrieve the WhatsApp ID. This relies on the POST /{phone-number-id}/contacts 'contact check' feature of the legacy WhatsApp On-Premises API, whose final client version expired on 2025-10-23 (per Meta's On-Premises API Sunset). It was never part of the WhatsApp Cloud API used by this server and has no Cloud API equivalent, so it is not expected to work; it is retained only for backwards compatibility. To check deliverability, send the message and inspect message-status webhooks / error codes instead. |
| whatsapp_get_business_profileA | Retrieve the WhatsApp Business profile for your connected phone number, including about text, address, description, email, and website. |
| whatsapp_update_business_profileA | Update your WhatsApp Business profile. You can update the about text, address, description, email, website URLs, and business vertical. |
| whatsapp_upload_mediaA | Upload a media file from a URL to WhatsApp and get back a media ID. The media ID can then be used to send media messages. Supports images (JPEG, PNG, WebP), videos (MP4, 3GPP), audio (AAC, MP4, MPEG, AMR, OGG), and documents (PDF, Word, Excel, PowerPoint, plain text). |
| whatsapp_get_media_urlA | Get the download URL for a WhatsApp media file using its media ID. The URL is temporary and expires after 5 minutes. Use this to download received media. |
| whatsapp_delete_mediaA | Delete a previously uploaded media file from WhatsApp servers using its media ID. This frees up storage and removes the file permanently. |
| whatsapp_send_templateA | Send an approved WhatsApp message template. Templates are pre-approved messages used for business-initiated conversations. Supports header, body, and button components with dynamic variable substitution. |
| whatsapp_list_templatesA | List available WhatsApp message templates for your business account. Shows template name, status (APPROVED/PENDING/REJECTED), category, and language. Requires WHATSAPP_BUSINESS_ACCOUNT_ID to be configured. |
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
- 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/FredShred7/whatsapp-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server