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 |
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
} |
| 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