MCP Tools Reference

Complete reference for all 11 MCP tools exposed by Pons.

Pons exposes 11 tools to MCP clients. Each tool requires either an API key or an OAuth access token with the appropriate scope.

Reading Tools

These tools require the read scope.

list_conversations

List recent WhatsApp conversations with contacts.

ParameterTypeRequiredDescription
limitnumberNoMax conversations to return (default 50)

Returns: List of conversations with contact name, phone number, unread count, 24h window status, last message preview, and conversation ID.


list_unanswered

List conversations waiting for a reply — where the last message is from the customer.

ParameterTypeRequiredDescription
limitnumberNoMax conversations to return (default 20)

Returns: Conversations where the most recent message is inbound, with contact info, time since last message, window status, message text, and IDs.


get_conversation

Get a conversation with its recent messages.

ParameterTypeRequiredDescription
conversationIdstringYesThe conversation ID
messageLimitnumberNoMax messages to return (default 50)

Returns: Contact details, 24h window status, and message history with direction (← inbound, → outbound), timestamps, delivery status, and content.


search_messages

Search for messages containing specific text.

ParameterTypeRequiredDescription
querystringYesText to search for in messages
limitnumberNoMax results (default 20)

Returns: Matching messages with contact info, timestamp, message text, and conversation ID.


list_templates

List available message templates for this account.

No parameters.

Returns: All templates with name, language, approval status, category, and ID. Templates must be created and approved in the Meta Business Suite.


Write Tools

These tools require the write scope.

mark_as_read

Mark a message as read (sends read receipt to the sender).

ParameterTypeRequiredDescription
waMessageIdstringYesThe WhatsApp message ID (wamid.xxx) to mark as read

Returns: Confirmation that the message was marked as read.


send_reaction

React to a message with an emoji.

ParameterTypeRequiredDescription
conversationIdstringYesThe conversation ID
phonestringYesPhone number in E.164 format (e.g., +491234567890)
waMessageIdstringYesThe WhatsApp message ID to react to
emojistringYesEmoji to react with (e.g., 👍, ❤️, 😂)

Returns: Confirmation that the reaction was sent.


updateConversation

Update conversation metadata. Currently supports archiving and unarchiving chats.

ParameterTypeRequiredDescription
phonestringYesRecipient phone number in E.164 format (e.g., +491234567890)
archivedbooleanYestrue to archive, false to unarchive

Returns: Confirmation with conversation ID and the updated archived state.


Send Tools

These tools require the send scope.

send_text

Send a text message to a WhatsApp contact. Requires an open 24-hour window.

ParameterTypeRequiredDescription
phonestringYesPhone number in E.164 format (e.g., +491234567890)
textstringYesMessage text to send
replyToMessageIdstringNoWhatsApp message ID to reply to

Returns: Confirmation with the sent message ID. If the 24h window is closed, returns an error suggesting send_template instead.


send_media

Send a media file (image, document, video, or audio) to a WhatsApp contact. Requires an open 24-hour window.

ParameterTypeRequiredDescription
phonestringYesPhone number in E.164 format (e.g., +491234567890)
urlstringYesPublicly accessible URL of the file to send
mimeTypestringYesMIME type of the file (e.g., image/jpeg, application/pdf, video/mp4)
filenamestringNoDisplay filename for documents (e.g., report.pdf)
captionstringNoCaption to send with the media

Returns: Confirmation with the sent message ID. The file type (image, video, audio, document) is auto-detected from the MIME type.


send_template

Send a pre-approved template message. Use this for first contact or when the 24-hour messaging window is closed.

ParameterTypeRequiredDescription
phonestringYesPhone number in E.164 format
templateNamestringYesName of the approved template
templateLanguagestringYesLanguage code (e.g., en_US, de_DE)
componentsobjectNoTemplate components (header, body, button variables) as JSON

Returns: Confirmation with template name and message ID.


24-Hour Window

WhatsApp enforces a 24-hour messaging window:

  • When a customer sends you a message, a 24-hour window opens
  • During this window, you can send free-form messages using send_text
  • After the window closes, you can only send pre-approved template messages using send_template
  • When the customer responds to a template, a new 24-hour window opens

Use list_conversations or list_unanswered to check the window status. The response includes [24h window open] or [window closed — template required].

On this page