Built by Metorial, the integration platform for agentic AI.

Learn More

    Server Summary

    • Send WhatsApp messages

    • Manage media files

    • Create interactive menus

    • Handle message templates

WhatsApp MCP Server

A comprehensive Model Context Protocol (MCP) server that enables seamless integration with WhatsApp Business API. Send messages, share media, manage templates, and interact with customers through WhatsApp's powerful messaging platform. This server provides a complete toolkit for building automated WhatsApp communication workflows, from simple text messages to interactive buttons and lists.

Overview

The WhatsApp MCP Server bridges the gap between AI applications and WhatsApp Business API, allowing you to leverage WhatsApp's extensive messaging capabilities programmatically. Whether you're building customer support automation, notification systems, or interactive conversational experiences, this server provides all the tools you need to communicate effectively through WhatsApp.

With support for multiple message types including text, media, locations, contacts, and interactive elements, you can create rich, engaging experiences for your users. The server handles all the complexities of the WhatsApp Business API, providing a clean, intuitive interface for sending messages and managing your WhatsApp business account.

Features

Message Types

Send a wide variety of message types to engage with your customers:

  • Text Messages: Send plain text messages with optional URL previews
  • Media Messages: Share images, videos, audio files, and documents with optional captions
  • Template Messages: Send pre-approved message templates for notifications and outreach
  • Location Messages: Share geographic coordinates with names and addresses
  • Contact Cards: Send vCard contact information for one or multiple contacts
  • Interactive Messages: Create engaging experiences with buttons and lists

Interactive Capabilities

Build conversational interfaces with:

  • Button Messages: Present up to 3 clickable buttons with custom actions
  • List Messages: Display organized menus with multiple sections and options
  • Rich Formatting: Add headers, footers, and body text to structure your messages

Media Management

Efficiently handle media files:

  • Upload media to WhatsApp servers and receive media IDs
  • Send media using URLs or pre-uploaded media IDs
  • Delete media to manage storage
  • Retrieve media details and download URLs

Business Tools

Manage your WhatsApp Business presence:

  • List and retrieve message templates
  • Access business profile information
  • View phone number profile and quality metrics
  • Mark messages as read for better conversation management

Tools

send_text_message

Send a text message to a WhatsApp number.

Parameters:

  • recipient (required): Recipient phone number in international format (e.g., +1234567890)
  • text (required): The text message to send
  • preview_url (optional): Whether to show URL preview in the message

send_template_message

Send a pre-approved message template for notifications, alerts, or marketing messages.

Parameters:

  • recipient (required): Recipient phone number in international format
  • template_name (required): Name of the approved template
  • language_code (required): Language code (e.g., en, en_US)
  • parameters (optional): Array of parameter values for dynamic template variables

send_media_message

Send an image, video, audio file, or document to a recipient.

Parameters:

  • recipient (required): Recipient phone number in international format
  • media_type (required): Type of media to send (image, video, audio, or document)
  • media_url (optional): URL of the media file
  • media_id (optional): Media ID from WhatsApp (alternative to URL)
  • caption (optional): Caption for the media (for image, video, document)
  • filename (optional): Filename for document type

send_location_message

Send a location message with geographic coordinates.

Parameters:

  • recipient (required): Recipient phone number in international format
  • latitude (required): Latitude coordinate
  • longitude (required): Longitude coordinate
  • name (optional): Name of the location
  • address (optional): Address of the location

send_contact_message

Send one or more contact cards in vCard format.

Parameters:

  • recipient (required): Recipient phone number in international format
  • contacts (required): Array of contact objects, each containing:
    • name (required): Object with formatted_name (required), first_name (optional), and last_name (optional)
    • phones (optional): Array of phone objects with phone and type (e.g., CELL, WORK)
    • emails (optional): Array of email objects with email and type

send_interactive_buttons

Send an interactive message with up to 3 clickable buttons.

Parameters:

  • recipient (required): Recipient phone number in international format
  • body_text (required): Body text of the message
  • buttons (required): Array of 1-3 button objects, each with:
    • id (required): Unique button identifier
    • title (required): Button text (max 20 characters)
  • header_text (optional): Optional header text
  • footer_text (optional): Optional footer text

send_interactive_list

Send an interactive message with a list of selectable options organized into sections.

Parameters:

  • recipient (required): Recipient phone number in international format
  • body_text (required): Body text of the message
  • button_text (required): Text on the list button (max 20 characters)
  • sections (required): Array of section objects, each containing:
    • title (optional): Section title
    • rows (required): Array of row objects with id, title (max 24 characters), and optional description (max 72 characters)
  • header_text (optional): Optional header text
  • footer_text (optional): Optional footer text

mark_message_as_read

Mark a received message as read to maintain conversation status.

Parameters:

  • message_id (required): The message ID to mark as read

list_message_templates

List all approved message templates for your WhatsApp Business Account.

Parameters:

  • limit (optional): Number of templates to return (default: 100)
  • after (optional): Cursor for pagination to fetch next page of results

upload_media

Upload media files to WhatsApp servers and receive a media ID for later use.

Parameters:

  • media_url (required): URL of the media file to upload
  • media_type (required): MIME type of the media (e.g., image/jpeg, video/mp4, audio/mpeg)

delete_media

Delete media from WhatsApp servers to manage storage and remove unused files.

Parameters:

  • media_id (required): The media ID to delete

Resource Templates

media

Access media resource details and download URLs.

URI Template: whatsapp://media/{media_id}

Retrieve information about uploaded media including download URLs, MIME types, and file sizes. Use this resource to access media that has been uploaded to WhatsApp servers.

business_profile

Access your WhatsApp Business profile information.

URI Template: whatsapp://profile/business

Get details about your business profile including business name, description, category, address, email, and website information.

phone_profile

Access phone number profile and quality details.

URI Template: whatsapp://profile/phone/{phone_number_id}

Retrieve information about a specific phone number including its display name, verification status, quality rating, and messaging limits.

template

Access details of a specific message template.

URI Template: whatsapp://template/{template_name}

Get comprehensive information about a message template including its status, language, category, components, and parameter structure.

Use Cases

The WhatsApp MCP Server enables a wide range of business communication scenarios:

  • Customer Support: Automate responses to common inquiries and provide quick resolution
  • Notifications: Send order confirmations, shipping updates, and appointment reminders
  • Marketing: Reach customers with promotional messages using approved templates
  • Surveys and Feedback: Collect customer feedback using interactive buttons and lists
  • Location Sharing: Guide customers to physical locations or share delivery information
  • Rich Media Sharing: Send product images, instruction videos, or documentation
  • Contact Management: Share team member or partner contact information easily

Message Formatting

WhatsApp supports rich message formatting to enhance communication:

  • Interactive elements guide users through decision flows
  • Headers and footers provide context and branding
  • Media captions explain visual content
  • Location messages help with navigation and meeting points
  • Contact cards facilitate easy saving of important connections

Best Practices

When using the WhatsApp MCP Server, keep these guidelines in mind:

  • Use template messages for outbound notifications to comply with WhatsApp policies
  • Keep button and list text concise to fit within character limits
  • Provide clear, actionable text in interactive elements
  • Use media messages to enhance engagement with visual content
  • Mark messages as read to maintain organized conversation threads
  • Manage uploaded media by deleting unused files

Compliance and Policies

This server interfaces with WhatsApp Business API, which has specific usage policies and requirements. Ensure your use case complies with WhatsApp's Commerce Policy and Business Policy. Template messages must be pre-approved before use, and certain message types can only be sent in response to user-initiated conversations within the 24-hour customer service window.