whatsapp-business-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | HTTP transport bind address. | 0.0.0.0 |
| PORT | No | HTTP transport port. | 3000 |
| MCP_HTTP_PATH | No | HTTP transport endpoint path. | /mcp |
| MCP_TRANSPORT | No | Transport mode: stdio or http. | stdio |
| WHATSAPP_TOKEN | Yes | Meta Graph API access token (system user token recommended). | |
| MCP_BEARER_TOKEN | No | If set, HTTP requests must send Authorization: Bearer <token>. | |
| WHATSAPP_API_VERSION | No | Graph API version. | v23.0 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| wa_get_business_accountsA | DISCOVERY — START HERE. List all WhatsApp Business Accounts (WABAs) owned by a Meta Business. This is the entry
point for almost every other tool: most calls take a Typical flow:
Resources |
| wa_get_phone_numbersA | List phone numbers registered to a WhatsApp Business Account (WABA). Use this to discover the Also returns quality_rating (GREEN/YELLOW/RED) and messaging status, useful for diagnosing delivery problems. |
| wa_get_templatesA | List message templates for a WhatsApp Business Account (WABA), with optional filters. When to use: discovery before sending (wa_send_template requires an APPROVED template), auditing template inventory, or verifying review status after wa_create_template. Filters are applied server-side (status, name) or client-side (language). Use pagination
via Returns: { count, templates[], has_more, next_cursor? } where each template includes name, language, status, category and component definitions. |
| wa_create_templateA | Create a new message template in a WABA. Templates go through Meta review before they can be sent. When to use: setting up a new outbound notification, marketing or authentication message type. Inputs:
Returns: the new template's ID. Status starts as PENDING; poll wa_get_templates for review result. |
| wa_delete_templateA | Delete a message template from a WABA by name. WARNING: deletes ALL languages of that template. When to use: removing obsolete or rejected templates. Cannot be undone. Note: deletion is irreversible. Confirm with the user before invoking. |
| wa_send_templateA | Send a pre-approved template message to a recipient on WhatsApp. When to use: outbound notifications, marketing or utility messages where the recipient is outside the 24-hour customer service window, or any first-contact message. Requirements:
Returns: the WhatsApp message ID (wamid) on success, which can be used with wa_get_message_status. Limitations: templates with header media require uploaded media handles; delivery/read status is delivered asynchronously via webhooks — this tool returns only the accepted message ID. |
| wa_get_message_statusA | Look up information about a previously sent WhatsApp message by its ID. Use this after wa_send_template to confirm Graph API received the message. Note that WhatsApp delivery/read status (sent → delivered → read) is pushed asynchronously via webhooks; the Graph API does not expose a polling endpoint for those transitions. This tool retrieves the message resource directly and surfaces whatever Meta returns. Inputs: the wamid returned by wa_send_template. |
| wa_api_callA | Escape hatch for WhatsApp Business / Meta Graph endpoints that don't have a dedicated tool yet. Restricted: only paths matching a curated allowlist of WhatsApp Business resources are accepted (message_templates, phone_numbers, messages, media, business_profile, analytics, subscribed_apps, owned_whatsapp_business_accounts, single-ID reads, wamid lookups). Anything else is rejected. Prefer the typed tools when one matches — they validate inputs and surface clearer errors. Inputs:
|
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/Gonzalez8/whatsapp-business-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server