WhatsApp Business MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WHATSAPP_API_VERSION | No | Version of the Meta Graph API (e.g., v21.0). | v21.0 |
| WHATSAPP_ACCESS_TOKEN | Yes | Your Meta system user access token. Can be obtained via Meta Business Manager → WhatsApp → API Configuration. | |
| WHATSAPP_PHONE_NUMBER_ID | Yes | Your WhatsApp Phone Number ID. | |
| WHATSAPP_BUSINESS_ACCOUNT_ID | Yes | Your WhatsApp Business Account ID (WABA ID). |
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
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| send_text_messageA | Send a text message to a WhatsApp number. Works within the 24-hour conversation window. For messages outside this window, use send_template_message instead. |
| send_template_messageA | Send a pre-approved template message. Required for initiating conversations outside the 24-hour window. Templates must be approved by Meta before use. |
| send_media_messageC | Send an image, video, audio, or document to a WhatsApp number. |
| send_interactive_messageC | Send an interactive message with buttons or a selection list. |
| send_location_messageC | Send a location pin to a WhatsApp number. |
| send_contact_messageC | Send a contact card to a WhatsApp number. |
| mark_message_readB | Mark a received message as read (blue checkmarks). Use the message_id from a received webhook. |
| list_templatesB | List all message templates in the WhatsApp Business Account, optionally filtered by status. |
| create_templateA | Create a new message template for approval by Meta. Templates are required for outbound messages outside the 24-hour window. |
| delete_templateA | Delete a message template by name. This action is irreversible. |
| get_phone_numbersA | List all phone numbers registered on this WhatsApp Business Account, including quality rating and messaging limits. |
| get_business_profileB | Get the WhatsApp Business profile (about, address, description, email, websites, profile picture). |
| update_business_profileC | Update the WhatsApp Business profile information. |
| get_analyticsC | Get messaging analytics (sent, delivered, read counts) for a date range. |
| upload_mediaB | Upload a media file for later sending. Returns a media_id that can be used with send_media_message. |
| get_media_urlA | Get the download URL for a received media file. URLs are valid for 5 minutes. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| campaign-sender | Guide for sending a marketing campaign via WhatsApp templates |
| support-responder | Guide for handling customer support messages on WhatsApp |
| template-creator | Guide for creating a WhatsApp message template following Meta's rules |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| templates | |
| business-profile | |
| phone-numbers |
TDQS
Scored across 16 tools
Every tool has a clearly distinct purpose with no ambiguity. For example, send_text_message, send_media_message, and send_template_message each handle different message types, while get_business_profile and update_business_profile are clearly separate read and write operations. The descriptions reinforce these distinctions, making tool selection straightforward.
All tool names follow a consistent verb_noun pattern with clear, descriptive verbs like create, delete, get, list, mark, send, and update. There are no deviations in style (e.g., no camelCase or mixed conventions), making the naming highly predictable and readable throughout the set.
With 16 tools, the server is well-scoped for managing a WhatsApp Business Account, covering key areas like messaging (text, media, templates, interactive), profile management, analytics, and media handling. Each tool earns its place without feeling excessive or thin, aligning well with the domain's complexity.
The tool set provides complete CRUD/lifecycle coverage for the WhatsApp Business domain. It includes creation (e.g., create_template, upload_media), retrieval (e.g., get_business_profile, list_templates), updates (e.g., update_business_profile, mark_message_read), and deletion (delete_template), with no obvious gaps that would hinder agent workflows.