Connect your AI assistant to WhatsApp using the Model Context Protocol (MCP). Send messages, manage groups, channels, communities, catalogs, labels, and more -- directly from Claude, Cursor, or any MCP-compatible AI tool.
The Model Context Protocol (MCP) is an open standard developed by Anthropic that enables AI assistants to connect with external tools and services. Think of it as a universal adapter between AI and your applications.
With the Maytapi MCP Server, your AI assistant can directly interact with the WhatsApp API -- sending messages, managing contacts, handling groups, channels, communities, catalogs, and more -- all through natural language commands.
No installation required. Add the following configuration to your MCP client settings:
Loading...
Replace your-product-id and your-api-token with your credentials from the Maytapi Console.
Run via npx (no install needed) or install the Maytapi MCP Server globally via npm. Configure it with your Product ID and API Token.
Add the MCP server configuration to Claude Desktop, Claude Code, Cursor, or your preferred MCP client.
Ask your AI assistant to send messages, manage groups, create channels -- all through natural language.
| Client | Path |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Claude Code | ~/.claude.json |
| Cursor | Cursor Settings > MCP |
The Maytapi MCP Server exposes 80+ tools covering the full WhatsApp API. Here is the complete list grouped by category.
| Tool Name | Description |
|---|---|
get_product | Returns product information |
list_phones | Lists all phones registered to the product |
add_phone | Adds a new phone to the product |
get_status | Returns the status of the current session |
get_screen | Returns screenshot of the current session screen |
get_qr_code | Returns the QR code for phone pairing |
connect_with_phone_number | Connect with phone number instead of QR code |
logout | Logs out the number from current session |
get_phone_logs | Returns logs for a specific phone (incoming/outgoing filter) |
| Tool Name | Description |
|---|---|
send_message | Sends messages to any chat. Supports 30+ message types: text, media, poll, vcard, contact, location, sticker, link, buttons, list, forward, delete, reaction, unreact, edit, pin, star, product, catalog, group invite, channel messages (text/media/link/poll/sticker/audio/delete), story replies (text/media), short video, and create event. |
get_message | Retrieves information about a specific message by ID |
get_messages | Retrieves messages from a conversation with pagination, author filter, and fromMe filter |
| Tool Name | Description |
|---|---|
create_group | Creates a new WhatsApp group with participants, optional invite message and profile image |
get_groups | Lists all groups with optional participant loading, sorting, invite links, and pagination |
get_group | Gets specific group info with optional invite link generation |
group_add | Adds participants to a group with optional invitation |
group_remove | Removes a participant from a group |
group_promote | Promotes a participant to admin |
group_demote | Demotes an admin to participant |
group_config | Configures group settings: edit, send, disappear, membersCanAddMembers, approveNewMembers, name, description |
set_group_profile_image | Sets group profile picture (512x512 recommended) |
delete_group_profile_image | Deletes group profile picture |
group_accept_invite | Accepts a group invitation by invite code |
group_revoke_invite | Revokes and regenerates group invite link |
group_approval_request_list | Lists pending join requests for a group |
group_approve_request | Approves pending join requests |
group_reject_request | Rejects pending join requests |
get_group_info_by_invite_code | Gets group info using invite code |
leave_group | Leaves a WhatsApp group |
| Tool Name | Description |
|---|---|
get_contacts | Lists all contacts |
get_contact | Gets specific contact information |
check_phones | Checks WhatsApp registration status of multiple phone numbers |
block_contact | Blocks or unblocks a contact |
get_profile_image | Gets profile picture of a contact or group |
set_profile_image | Sets your WhatsApp account profile picture |
delete_profile_image | Deletes your WhatsApp account profile picture |
contact_add | Adds a new contact to WhatsApp address book (requires "Manage contacts from web" enabled) |
contact_edit | Edits an existing contact in WhatsApp address book |
contact_remove | Removes a contact from WhatsApp address book |
| Tool Name | Description |
|---|---|
get_conversations | Lists all conversations/chats with pagination |
get_conversation | Gets specific conversation details with messages, author filter, and fromMe filter |
favorite_conversation | Adds or removes a conversation from favorites |
pin_conversation | Pins or unpins a conversation |
archive_conversation | Archives or unarchives a conversation |
mute_conversation | Mutes or unmutes a conversation (8 hours, 1 week, or forever) |
clear_conversation | Clears all messages from a conversation |
| Tool Name | Description |
|---|---|
create_channel | Creates a new WhatsApp channel with name, description, and image |
get_channels | Lists all channels with optional invite links |
get_channel | Gets specific channel info |
delete_channel | Deletes a channel you own |
channel_config | Configures channel settings (name, description, image) |
channel_invite_code | Gets invite code/link for a channel |
channel_subscribe | Subscribes to a channel |
channel_unsubscribe | Unsubscribes from a channel |
channel_subscribe_by_invite_code | Subscribes to a channel using invite code |
channel_unsubscribe_by_invite_code | Unsubscribes from a channel using invite code |
channel_get_messages | Gets messages from a channel with pagination |
channel_search | Searches channels by text |
channel_search_by_country | Searches channels by country code (ISO 2-letter) |
channel_get_info_by_invite_code | Gets channel info using invite code |
channel_statistics | Gets channel statistics and analytics |
channel_demote | Demotes an admin in a channel |
channel_accept_admin_invite | Accepts a channel admin invitation |
channel_revoke_admin_invite | Revokes admin invitation for a number |
| Tool Name | Description |
|---|---|
create_community | Creates a new WhatsApp community with optional subgroups |
get_communities | Lists all communities with optional detailed info and pagination |
get_community | Gets details of a specific community |
community_add | Adds participants to a community with optional invitation |
community_remove | Removes a participant from a community |
community_promote | Promotes a participant to community admin |
community_demote | Demotes a community admin to participant |
community_add_subgroup | Adds existing groups as subgroups to a community |
community_remove_subgroup | Removes subgroups from a community |
community_revoke_invite | Revokes and regenerates community invite link |
deactivate_community | Deactivates a community |
| Tool Name | Description |
|---|---|
get_stories | Gets your own stories with pagination |
get_contacts_stories | Gets stories of all contacts |
get_contact_stories | Gets stories of a specific contact |
create_story | Creates a new story (text with background color, or media with caption) |
| Tool Name | Description |
|---|---|
create_label | Creates a new label in WhatsApp Business with name and color |
get_labels | Lists all labels |
get_label_chats | Gets all chats that have a specific label assigned |
get_label_colors | Gets all available color options for labels |
edit_label | Edits an existing label (name and/or color) |
remove_labels | Permanently deletes one or more labels |
add_label_to_chat | Assigns a label to a chat |
remove_label_from_chat | Removes a label from a chat |
| Tool Name | Description |
|---|---|
get_catalog_products | Lists all catalog products |
get_catalog_product | Gets a specific catalog product |
add_catalog_product | Adds a new product (name, image, price, currency, description, URL) |
edit_catalog_product | Edits an existing catalog product |
remove_catalog_product | Removes a product from the catalog |
add_product_image | Adds an image to a catalog product |
remove_product_image | Removes an image from a catalog product |
get_contact_catalog_products | Lists catalog products from another WhatsApp Business contact |
get_catalog_collections | Lists all catalog collections |
get_catalog_collection | Gets a specific collection with its products |
add_catalog_collection | Creates a new catalog collection |
edit_catalog_collection | Edits a catalog collection name |
remove_catalog_collection | Removes a catalog collection |
add_collection_products | Adds products to a collection |
remove_collection_product | Removes products from a collection |
get_catalog_orders | Lists orders with pagination, sorting, and conversation filter |
get_catalog_order | Gets detailed information about a specific order |
get_catalog | Gets catalog products (legacy) |
| Tool Name | Description |
|---|---|
get_presence | Gets current presence status of a contact (online, offline, last seen) |
subscribe_presence | Subscribes to receive presence updates for a contact via webhook |
send_presence | Sends your presence status (typing, recording, online, offline) to a contact |
| Tool Name | Description |
|---|---|
reject_call | Rejects an incoming call (callId obtained from webhook notification) |
create_call_link | Creates a shareable call link for voice or video calls with scheduled timestamp |
| Tool Name | Description |
|---|---|
set_webhook | Sets webhook URL for the product to receive incoming messages and events |
set_ack_preference | Sets acknowledgment preference to enable/disable read receipt delivery via webhook |
Once connected, simply tell your AI assistant what you want to do.
"Send a WhatsApp message to +1234567890 saying 'Hello, your order has been shipped!'"
Calls send_message with type text, the phone number, and message content via Maytapi API.
"Create a WhatsApp group called 'Project Team' and add +1234567890, +0987654321"
Calls create_group with the group name and participant numbers.
"Show me the status of my WhatsApp connection"
Calls get_status to check the current WhatsApp session connection status.
"Create a new WhatsApp channel called 'Company Updates'"
Calls create_channel with the channel name to create a new WhatsApp channel.
Bring the full power of WhatsApp messaging directly into your AI workflow.
Automate your WhatsApp communication with the AI tools you already use.
Get started with the Maytapi MCP Server in minutes.
The MCP server runs locally on your machine and communicates with the Maytapi API over HTTPS.
Unlock powerful features for business messaging and automation with our WhatsApp API
Explore WhatsApp APIPerfect for businesses, developers, and power users
The Model Context Protocol (MCP) is an open standard created by Anthropic that allows AI assistants to connect to external tools and data sources. It provides a universal way for AI to interact with services like the Maytapi WhatsApp API.
The MCP Server itself is free and open source. You only need an active Maytapi subscription to use the WhatsApp API. All Maytapi plans include full API access.
Tested with Claude Desktop, Claude Code, and Cursor. Works with any AI tool that supports the Model Context Protocol standard.
Yes. The MCP server runs locally on your machine. Your API credentials are stored in your local configuration and are never sent to any third party. All communication with the Maytapi API is done over HTTPS.
Basic familiarity with running commands in a terminal is helpful, but no coding is required. Install Node.js, add the configuration, and start using it with your AI assistant.
Sign up or log in to the Maytapi Console. Your Product ID and API Token are available on the settings page.
Unlock the Full Potential of WhatsApp API with unlimited Features Tailored for Your Brand's Success
Contact us to be our partner Send email to talk any condition, agreement, and prices