Skip to main content
Glama
rukman7

whatsapp-mcp-server

by rukman7

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoOptional. HTTP server port. Default: 3000.3000
TRANSPORTNoOptional. Transport mode: 'stdio' or 'http'. Default: 'stdio'.stdio
WHATSAPP_API_VERSIONNoOptional. WhatsApp API version. Default: v23.0.v23.0
WHATSAPP_ACCESS_TOKENYesYour WhatsApp Cloud API access token.
WHATSAPP_PHONE_NUMBER_IDYesYour WhatsApp Business phone number ID.
WHATSAPP_BUSINESS_ACCOUNT_IDNoOptional. Your WhatsApp Business Account ID (required for template operations).

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
whatsapp_send_textA

Send a text message to a WhatsApp user.

Args:

  • to (string): Recipient phone number in international format

  • body (string): Message text (max 4096 chars)

  • preview_url (boolean): Show URL preview (default: false)

Returns: Message ID and delivery status.

Examples:

  • "Send hello to +353851234567" → to="+353851234567", body="hello"

whatsapp_send_templateA

Send an approved template message. Templates are the only way to initiate conversations outside the 24-hour window.

Args:

  • to (string): Recipient phone number

  • template_name (string): Approved template name

  • language_code (string): Template language (default: "en_US")

  • components (string, optional): JSON string of template components for dynamic values

Returns: Message ID and delivery status.

Examples:

  • "Send welcome template to user" → template_name="hello_world", language_code="en_US"

whatsapp_send_imageA

Send an image to a WhatsApp user via a public URL.

Args:

  • to (string): Recipient phone number

  • image_url (string): Public URL of the image

  • caption (string, optional): Image caption (max 1024 chars)

Returns: Message ID and delivery status.

whatsapp_send_documentA

Send a document (PDF, DOCX, etc.) to a WhatsApp user via a public URL.

Args:

  • to (string): Recipient phone number

  • document_url (string): Public URL of the document

  • filename (string, optional): Display filename

  • caption (string, optional): Document caption

Returns: Message ID and delivery status.

whatsapp_send_locationA

Send a location pin to a WhatsApp user.

Args:

  • to (string): Recipient phone number

  • latitude (number): Latitude (-90 to 90)

  • longitude (number): Longitude (-180 to 180)

  • name (string, optional): Location name

  • address (string, optional): Location address

Returns: Message ID and delivery status.

whatsapp_send_contactA

Send a contact card to a WhatsApp user.

Args:

  • to (string): Recipient phone number

  • first_name (string): Contact first name

  • last_name (string, optional): Contact last name

  • phone (string): Contact phone number

  • email (string, optional): Contact email

Returns: Message ID and delivery status.

whatsapp_send_reactionA

Send a reaction emoji to an existing message.

Args:

  • to (string): Phone number of the conversation

  • message_id (string): wamid of the message to react to

  • emoji (string): Emoji character (e.g. '👍')

Returns: Confirmation of reaction sent.

whatsapp_send_buttonsA

Send a message with up to 3 reply buttons.

Args:

  • to (string): Recipient phone number

  • body_text (string): Main message body

  • buttons (string): JSON array of buttons: [{"id":"btn1","title":"Yes"},{"id":"btn2","title":"No"}]

  • header_text (string, optional): Header text

  • footer_text (string, optional): Footer text

Returns: Message ID and delivery status.

whatsapp_send_listA

Send a message with a menu list of options.

Args:

  • to (string): Recipient phone number

  • body_text (string): Main message body

  • button_text (string): Text on the list menu button

  • sections (string): JSON array of sections with rows

  • header_text (string, optional): Header text

  • footer_text (string, optional): Footer text

Returns: Message ID and delivery status.

whatsapp_mark_as_readA

Mark a received WhatsApp message as read (shows blue checkmarks).

Args:

  • message_id (string): The wamid of the message to mark as read

Returns: Confirmation.

whatsapp_get_business_profileA

Retrieve the WhatsApp Business Profile for the configured phone number.

Returns: Business profile fields: about, address, description, email, websites, vertical, and profile picture URL.

whatsapp_update_business_profileA

Update the WhatsApp Business Profile fields.

Args:

  • about (string, optional): About text (max 139 chars)

  • address (string, optional): Business address

  • description (string, optional): Description (max 512 chars)

  • email (string, optional): Contact email

  • websites (string, optional): JSON array of website URLs

  • vertical (string, optional): Industry vertical

Returns: Confirmation of update.

whatsapp_list_templatesA

List message templates for the WhatsApp Business Account. Requires WHATSAPP_BUSINESS_ACCOUNT_ID env var.

Args:

  • limit (number): Max results (default: 20, max: 100)

  • status (string, optional): Filter by APPROVED, PENDING, or REJECTED

Returns: List of templates with name, status, category, language, and components.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/rukman7/whatsapp-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server