100+ integrations are ready to connect to your AI.Connect your first MCP

WhatsApp Business MCP server for your AI

Send order updates and reminders as approved templates, reply inside the customer service window with text, photos, documents and buttons, submit new templates for review, and break spend down by category and country, all from the number you already run on WhatsApp.

PopMCPWhatsApp Business

Send the order_shipped template to +1 650 555 0134 with her first name and order number

Supported WhatsApp Business tools

Every call Meta documents for running a business's own WhatsApp number is here: messages, templates, media, phone numbers, the business profile, analytics, groups, Flows, calling and QR codes, with the everyday tools loaded and the rest one search away.

155 tools in the full catalog: 70 read and 85 write. 31 load by default, and the rest are found with tool search.

whatsapp_browse_template_library

Browse the Template Library.

whatsapp_delete_template

Delete a template permanently: by name (every language of it), one language version with name plus hsm_id (the template id), or up to 100 templates with hsm_ids.

whatsapp_get_template

One template by id: components, status, category, quality score, rejection reason and click-tracking setting.

whatsapp_list_templates

List this WhatsApp Business account's message templates with status, category, language, parameter format and components, so you know each template's variables before sending it.

whatsapp_get_health_status

Check whether this number can send messages (health status).

whatsapp_get_phone_number

This connection's phone number: display number, verified name, status (CONNECTED, PENDING, ...), quality rating (GREEN, YELLOW, RED), display name review, platform, test or live mode, throughput and the business portfolio's messaging limit (unique users per 24 hours outside service windows).

whatsapp_list_phone_numbers

Phone numbers of this WhatsApp Business account with verified name, status, quality, throughput and test or live mode.

whatsapp_list_flows

WhatsApp Flows of this account: id, name, status (DRAFT, PUBLISHED, DEPRECATED, BLOCKED, THROTTLED), categories and validation errors.

whatsapp_check_token

Check this connection's access token and number in one call: whether the token is valid, its type, expiry and permissions, which app it belongs to, and the phone number's status and quality.

whatsapp_create_message_template

Create a message template from plain inputs and submit it for review (usually minutes, up to 24 hours).

whatsapp_download_media

Fetch a media file someone sent you (the image, document, audio or video id in a received message) or one you uploaded: images come back as an image you can look at (up to 4 MB), text files as text, anything else as its type, size and sha256.

whatsapp_mark_as_read

Mark a received message as read (the user sees blue ticks), optionally showing a typing indicator while you prepare the answer (it disappears when you reply, or after 25 seconds).

whatsapp_send_interactive_message

Send an interactive message: kind "buttons" (up to 3 reply buttons, titles up to 20 characters), "list" (a menu of up to 10 rows in up to 10 sections, opened by list_button_label), "cta_url" (one link button) or "location_request" (asks the user to share their location).

whatsapp_send_media_message

Send an image, video, audio file, document or sticker from a public https link or a media id.

whatsapp_send_reaction

React to a message with an emoji (e.g. "👍"), or remove your reaction with an empty emoji.

whatsapp_send_template_message

Send an approved message template by name: the only way to message someone outside the 24-hour window (order updates, reminders, offers, codes).

whatsapp_send_text_message

Send a text message on WhatsApp from this connection's number.

whatsapp_get_messaging_analytics

Get messaging analytics.

whatsapp_get_pricing_analytics

Get pricing analytics (per-message cost and volume).

whatsapp_get_template_analytics

Get template analytics.

whatsapp_get_whatsapp_business_account

This connection's WhatsApp Business account (now called the Messaging account: templates, billing, webhooks): name, status, currency, time zone, template namespace, review and verification status, owning business, and primary_funding_id (missing means no payment method, so paid messages fail).

whatsapp_create_or_update_qr_code

Create a QR code and wa.me link that opens a chat with this number with prefilled_message typed in, or change an existing one's message by passing its code.

whatsapp_get_business_profile

The business profile WhatsApp users see: about, address, description, email, websites, vertical (industry) and profile_picture_url.

whatsapp_list_message_history

Delivery history of messages sent from this number.

whatsapp_list_qr_codes

QR codes and wa.me links of this number with their prefilled messages and image links.

whatsapp_send_message

Send any WhatsApp message from this connection's number: text, image, video, audio, document, sticker, location, contacts, reaction, interactive (button, list, cta_url, flow, location_request, address_message, product, product_list, carousel), template, or a read receipt.

whatsapp_update_business_profile

Update the business profile: about (up to 139 characters), address, description (up to 512), email, websites (up to 2 URLs), vertical.

whatsapp_block_users

Block WhatsApp users from messaging this number.

whatsapp_get_media

Details of an uploaded or received media file: url (works only with this connection's token, for 5 minutes), mime_type, sha256 and file_size.

whatsapp_list_blocked_users

Users this number has blocked (paged with after).

whatsapp_upload_media

Upload a file to WhatsApp and get a media id to send in messages (ids last 30 days and are faster than links for repeated sends).

whatsapp_archive_templates

Archive templates.

whatsapp_compare_templates

Compare two templates.

whatsapp_create_template

Create a message template and submit it for review (minutes, up to 24 hours; at most 100 new templates an hour).

whatsapp_create_template_group

Create a template group.

whatsapp_delete_template_group

Delete a template group.

whatsapp_edit_template

Edit a template's components, category, time to live or max price.

whatsapp_get_template_group

Get a template group.

whatsapp_list_template_groups

List template groups.

whatsapp_migrate_templates

Copy templates from another WhatsApp Business account into this one.

whatsapp_preview_authentication_templates

Preview authentication template text.

whatsapp_unarchive_templates

Unarchive templates.

whatsapp_update_template_group

Update a template group.

whatsapp_upsert_authentication_templates

Create or update authentication templates in several languages.

whatsapp_add_phone_number

Add a new phone number to this WhatsApp Business account: cc (country calling code, e.g. 1), phone_number (the national number) and verified_name (display name).

whatsapp_deregister_phone_number

Deregister this phone number from Cloud API: it stops sending and receiving until registered again.

whatsapp_get_phone_number_settings

This number's calling, Local Storage, identity-change check and payload encryption settings.

whatsapp_get_whatsapp_account_number

Get WhatsApp Account Number Details.

whatsapp_register_phone_number

Register this phone number for Cloud API messaging: needed once after adding and verifying a number, and after deregistering.

whatsapp_request_display_name_change

Request a new display name.

whatsapp_request_verification_code

Send a verification code to the business phone number by SMS or VOICE in a language (e.g. en_US), to prove ownership before registering it.

whatsapp_set_two_step_verification_pin

Set or change the two-step verification PIN.

whatsapp_update_phone_number

Change this phone number's settings in one call: two-step PIN (pin), new display name (new_display_name), webhook override (webhook_configuration) or search visibility.

whatsapp_update_phone_number_settings

Change this number's settings: calling (status ENABLED or DISABLED, call hours, callback permission, SIP), storage_configuration (Local Storage region), user_identity_change (enable_identity_key_check) or payload_encryption.

whatsapp_verify_phone_number_code

Submit the code received by SMS or voice call for this business phone number.

whatsapp_create_flow

Create a WhatsApp Flow: name and categories (SIGN_UP, SIGN_IN, APPOINTMENT_BOOKING, LEAD_GENERATION, CONTACT_US, CUSTOMER_SUPPORT, SURVEY, OTHER); optionally flow_json (the Flow JSON, object or string) with publish true to publish at once, clone_flow_id to copy a Flow, endpoint_uri for a data endpoint.

whatsapp_delete_flow

Delete a DRAFT Flow (published Flows can only be deprecated).

whatsapp_deprecate_flow

Deprecate a published Flow so it can no longer be sent.

whatsapp_get_business_public_key

Get Business Encryption Public Key.

whatsapp_get_flow

One Flow with status, categories, validation errors, JSON version, data endpoint and health.

whatsapp_get_flow_preview_url

Get a Flow's web preview link.

whatsapp_list_flow_assets

List Assets (Get Flow JSON URL).

whatsapp_migrate_flows

Copy Flows by name from another WhatsApp Business account of the same business into this one.

whatsapp_publish_flow

Publish a DRAFT Flow so it can be sent.

whatsapp_set_business_public_key

Set Business Encryption Public Key.

whatsapp_update_flow

Rename a Flow or change its categories or data endpoint.

whatsapp_upload_flow_json

Replace a DRAFT Flow's Flow JSON: pass flow_json (object or string) and PopMCP sends it as the flow.json asset.

whatsapp_add_group_participants

Add Group Participants.

whatsapp_approve_group_join_requests

Approve Join Requests.

whatsapp_create_group

Create a WhatsApp group owned by this number (Groups API): subject, optional description and join_approval_mode.

whatsapp_create_group_invite_link

Create Group Invite Link.

whatsapp_delete_group

Delete Group.

whatsapp_delete_group_invite_link

Delete Group Invite Link.

whatsapp_get_group

Get Group Info.

whatsapp_list_group_join_requests

Get Join Requests.

whatsapp_list_groups

Get Active Groups.

whatsapp_reject_group_join_requests

Reject Join Requests.

whatsapp_remove_group_participants

Remove Group Participants.

whatsapp_update_group

Update Group Settings.

whatsapp_create_messaging_customer_base

Create a messaging customer base.

whatsapp_create_signup

Create an In-App Signup.

whatsapp_enable_template_analytics

Switch on template analytics.

whatsapp_get_call_analytics

Get call analytics.

whatsapp_get_default_messaging_customer_base

Get the default messaging customer base.

whatsapp_get_group_analytics

Get group analytics.

whatsapp_get_signup

Get an In-App Signup.

whatsapp_get_template_group_analytics

Get template group analytics.

whatsapp_list_messaging_customer_bases

List messaging customer bases.

whatsapp_list_signups

List In-App Signups.

whatsapp_set_default_messaging_customer_base

Set the default messaging customer base.

whatsapp_set_template_click_tracking

Turn button click tracking on or off for one template.

whatsapp_update_signup

Update or disable an In-App Signup.

whatsapp_check_contact_book

Check whether an user's phone number is in the contact book.

whatsapp_create_payment_configuration

Create a payment configuration (India).

whatsapp_delete_contact_book_entry

Delete an user from the contact book.

whatsapp_delete_payment_configuration

Delete a payment configuration (India).

whatsapp_delete_username

Delete the business username.

whatsapp_get_parent_bsuid_account

Get the parent BSUID account.

whatsapp_get_payment_configuration

Get a payment configuration (India).

whatsapp_get_username

Get the business username.

whatsapp_list_payment_configurations

List payment configurations (India).

whatsapp_list_reserved_usernames

List usernames reserved for this business.

whatsapp_lookup_payment

Look up a payment (WhatsApp Payments, India).

whatsapp_regenerate_payment_configuration_link

Get a new payment gateway linking link (India).

whatsapp_set_username

Adopt or change the business username.

whatsapp_update_payment_configuration

Update a payment configuration (India).

whatsapp_create_schedule

Create WhatsApp Business Account Schedule.

whatsapp_list_account_activities

Get WhatsApp Business Account Activities.

whatsapp_list_partner_solutions

List Multi-Partner Solutions for WABA.

whatsapp_list_schedules

Get WhatsApp Business Account Schedules.

whatsapp_update_whatsapp_business_account

Rename this WhatsApp Business account or change its time zone.

whatsapp_add_assigned_user

Give a business user or system user access to this WhatsApp Business account with tasks.

whatsapp_estimate_marketing_reach

Estimate marketing reach and cost at different max prices.

whatsapp_get_marketing_messages_status

Check Marketing Messages API onboarding status.

whatsapp_list_assigned_users

People and system users with access to this WhatsApp Business account and their tasks.

whatsapp_list_assigned_whatsapp_business_accounts

Get Assigned WhatsApp Business Accounts.

whatsapp_list_max_price_agreements

List max price agreements.

whatsapp_list_system_users

List system users with access to this account.

whatsapp_remove_assigned_user

Remove an user's access to this WhatsApp Business account.

whatsapp_send_marketing_message

Send a MARKETING template through the Marketing Messages API for WhatsApp (optimized delivery, conversion and click reporting, optional max price).

whatsapp_sign_max_price_agreement

Sign the max price agreement.

whatsapp_delete_qr_code

Delete Individual Message QR Code.

whatsapp_get_billing_currency_migration

Get a billing currency migration.

whatsapp_get_business_compliance_info

Get Business Compliance Information.

whatsapp_get_business_profile_by_id

Get WhatsApp Business Profile Details.

whatsapp_get_official_business_account_status

Get Official Business Account Status.

whatsapp_get_qr_code

Get Individual Message QR Code.

whatsapp_list_credit_lines

Credit lines (extended credit) of this connection's business portfolio, with their ids for whatsapp_request_billing_currency_change.

whatsapp_list_message_history_events

All delivery status events of one message history entry (id from whatsapp_list_message_history), with error details.

whatsapp_list_subscribed_apps

Apps subscribed to this WhatsApp Business account's webhooks, with any override callback URL.

whatsapp_request_billing_currency_change

Start moving this account to another billing currency.

whatsapp_request_official_business_account

Update Official Business Account Status.

whatsapp_resume_billing_currency_migration

Resume a paused billing currency migration.

whatsapp_send_encrypted_message

Send a message whose payload your own system already encrypted (payload encryption, set up in phone number settings).

whatsapp_set_phone_number_webhook_override

Send this phone number's webhooks to another URL.

whatsapp_subscribe_app_to_webhooks

Subscribe the token's app to this account's webhooks (incoming messages, statuses, template updates), or send them to another HTTPS callback with override_callback_uri and verify_token (it must answer Meta's verification challenge).

whatsapp_unsubscribe_app_from_webhooks

Stop the token's app receiving this account's webhooks: incoming messages and statuses then reach no app of yours.

whatsapp_update_business_compliance_info

Update Business Compliance Information.

whatsapp_update_business_profile_by_id

Update WhatsApp Business Profile.

whatsapp_configure_conversational_automation

Set the chat's conversational components: enable_welcome_message, up to 4 ice breakers (prompts) and up to 30 commands.

whatsapp_delete_media

Delete an uploaded media file.

whatsapp_delete_welcome_message_sequence

Delete a welcome message sequence.

whatsapp_get_business_bot

Get WhatsApp Business Bot Details.

whatsapp_get_business_portfolio

This connection's business portfolio (the Meta business that owns the WhatsApp Business account).

whatsapp_get_conversational_automation

Get the welcome message, ice breakers and commands.

whatsapp_list_client_whatsapp_business_accounts

WhatsApp Business accounts that clients shared with this business portfolio.

whatsapp_list_owned_whatsapp_business_accounts

WhatsApp Business accounts owned by this connection's business portfolio.

whatsapp_list_welcome_message_sequences

List welcome message sequences (Click to WhatsApp ads).

whatsapp_save_welcome_message_sequence

Create or update a welcome message sequence.

whatsapp_unblock_users

Unblock WhatsApp users so they can message this number again.

whatsapp_get_call_permissions

Whether you may call a WhatsApp user now (user_wa_id) and which call actions are available.

whatsapp_get_commerce_settings

Whether this number shows its product catalog and lets customers use the cart in WhatsApp.

whatsapp_manage_call

Control a WhatsApp voice call (Calling API): connect (call an user who granted call permission), pre_accept, accept, reject or terminate, with the WebRTC SDP in session.

whatsapp_update_commerce_settings

Turn the shopping cart (is_cart_enabled) and catalog visibility (is_catalog_visible) on or off for this number.

whatsapp_sync_business_app_data

Sync WhatsApp Business app contacts or chat history.

Connect WhatsApp Business to Claude, ChatGPT and Claude Code

Credentials off one WhatsApp Business screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.

In Meta Business Settings, open System users, assign a system user your Meta app and your WhatsApp account with full control, and generate a token that never expires with the whatsapp_business_messaging and whatsapp_business_management permissions. Paste it, then pick the phone number this connection uses and the workspace it belongs in.

System user access token••••••••••••3f7a
App secret (only if your app requires it)••••••••••••3f7a
ConnectionVerified

Then just ask for the work

  • “Send the order_shipped template to +1 650 555 0134 with her first name and order number”

    • send_template_message
  • “What did we spend on WhatsApp last month, split by marketing, utility and authentication?”

    • get_pricing_analytics
  • “Which of our templates were rejected or paused, and what does Meta say is wrong with each?”

    • list_templates
  • “Create a utility template that reminds customers about tomorrow's appointment, with a button to reschedule”

    • create_message_template
  • “Show me the photo the customer just sent and answer with three options as buttons”

    • download_media
    • send_interactive_message
  • “How healthy is our number: quality rating, messaging limit and anything blocking sends?”

    • get_phone_number
    • get_health_status

Use WhatsApp Business from the assistant you already open

One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.

Claude DesktopCustom connector

Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.

Claude WebCustom connector

The same endpoint, registered in the browser. Nothing to install on the machine you are working from.

ChatGPTCustom connector

Register PopMCP as a custom connector, then let ChatGPT read and update the account.

CodexDesktop & CLI

Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.

OpenCodeCoding agent

Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.

ZCodeDesktop app

Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.

WhatsApp Business MCP server questions

What teams ask before putting WhatsApp Business behind an AI client.

What does the WhatsApp Business MCP server need to connect?

A permanent System User access token from your own Meta business portfolio, for a Meta app with the Connect with customers through WhatsApp use case and a phone number on the WhatsApp Business Platform. In Business Settings, open System users, assign the system user your app and your WhatsApp account with full control, then generate a token with expiry Never and the whatsapp_business_messaging and whatsapp_business_management permissions. PopMCP finds the WhatsApp accounts and numbers the token reaches and you pick one. Your own business needs no App Review.

Why can the AI send a template but not a normal reply?

WhatsApp delivers free-form messages (text, media, buttons) only within 24 hours of the customer's last message to you, the customer service window. Outside it only an approved template can reach them, and Meta refuses a free-form send with error 131047. send_template_message reads the template first and checks every variable before sending, and list_templates shows which templates are approved.

Can it read the messages customers send to my number?

Not as an inbox. WhatsApp delivers incoming messages only to the webhook on your Meta app, and the API keeps no conversation history to read back. The AI can check whether messages you sent were delivered or read with list_message_history, open a photo or document a customer sent when it has the media id with download_media, mark a message as read and react to it. Keep your existing webhook or inbox for incoming chats.

What will sending messages cost?

Meta bills your WhatsApp account, not PopMCP. Template messages are charged per delivered message by category (marketing, utility, authentication) and the recipient's country. Since October 1, 2026 replies inside the customer service window are charged too, after the first 1,000 service messages each month per number, so keep a payment method on the account. Messages in a free entry point window after a Click to WhatsApp ad are free. get_pricing_analytics shows volume and cost by category, country and day.

Can the AI create and manage templates?

Yes. create_message_template takes plain inputs (name, language, category, a body with {{1}} or {{first_name}} variables and their examples, an optional header, footer and buttons), uploads a header image, video or PDF sample for you and submits the template for review, which usually takes minutes and at most 24 hours. Templates can also be edited, deleted, archived, compared and copied from Meta's template library.

Does one connection cover all of my WhatsApp numbers?

One connection is one phone number: every call is locked to the number you pick, with its WhatsApp account and business portfolio. To use another number, connect WhatsApp Business again with the same token and pick that number, in the same workspace or a different one. Marketing templates are not delivered to WhatsApp users in the United States, whichever number sends them.

Which WhatsApp events can PopMCP watch?

Templates submitted, approved, rejected, paused or moved to another category, new phone numbers, changes to a number's quality rating, status or display name review, account activity, people given access, blocked users, new QR codes, Flows and groups, plus thresholds on spend, message volume, delivery rate, template read rate and a sending block. Incoming messages and delivery receipts reach only your app's webhook, so they are not triggers here.

Do I have to run or host the WhatsApp Business MCP server myself?

No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.

Which AI clients can use this MCP server?

Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.

How do I connect WhatsApp Business to Claude Code?

Connect WhatsApp Business in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking WhatsApp Business on the consent screen. The WhatsApp Business tools are then available in that session, and no WhatsApp Business credential is stored on your machine.

Why do only 31 of the 155 tools load by default?

Loading 155 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 31-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.

What is the difference between a tool and a trigger?

A tool is something your AI calls, and there are 155 here. A trigger is something PopMCP watches for you: 19 WhatsApp Business events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into WhatsApp Business.

Connect WhatsApp Business to your AI in minutes

Launch a hosted MCP endpoint for WhatsApp Business, keep tool access under control, and start testing real workflow prompts right away.

Connect your first MCP