WhatsApp Business API by Wassenger
REMOTE · API.WASSENGER.COM
Send and read WhatsApp messages, templates, chats and campaigns through the official Business API.
Available components
Last scanned (14 hours ago)
Scores higher than 53% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Communication
Recent critical change
Authorization (27 Oct 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_whatsapp_template). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability72
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 16614 tokens (~307/item across 54 items; 54 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety81
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 1 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "send_whatsapp_message" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
- An AI judge read all 54 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
- Tool “manage_whatsapp_queue” rewrote its description, which is the text the model reads security
- “manage_whatsapp_message_interactions” added an optional parameter “idempotencyKey” cosmetic
- “manage_whatsapp_queue” added an optional parameter “confirmEmptyQueue” cosmetic
- “send_whatsapp_flow” added an optional parameter “idempotencyKey” cosmetic
- “send_whatsapp_message” added an optional parameter “idempotencyKey” cosmetic
- 28 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- 27 Oct 26 +30
- Authorization: Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (delete_whatsapp_template). critical
- Transport: unverified → pass ▲ security
- Injection markers: unverified → pass ▲ security
- First check of Judged manipulation: pass security
- MCP protocol: unverified → pass ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Destructive annotations: 25 functional
- First check of Schema quality: fail functional
- First check of Schema quality: good functional
- First check of Tool coverage: 100 functional
- 25 Oct 26 33
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://api.wassenger.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.wassenger.com | CN=WR3,O=Google Trust Services,C=US | 23 Sept 2026 | 22 Dec 2026 | RSA 2048 | SHA256-RSA | 554549955820bcbc1023f3c7614a8a94 |
| SANs: api.wassenger.com | ||||||
| CN=WR3,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a91568d63abc22861684aa4b5a |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.wassenger.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| com. | DS published | 19718 | 13 | Verified |
| wassenger.com. | No DS | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.wassenger.com/mcp | Verified | 200 | |
| http (plaintext) | http://api.wassenger.com/mcp | HTTPS enforced | 301 | https://api.wassenger.com:443/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
manage_whatsapp_message_interactions ~379
Manage WhatsApp message interactions including replies, forwards, reactions, and poll voting. Handle all message interaction operations with action-based approach for comprehensive message engagement functionality.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform for WhatsApp message interactions |
| agent | string | – | Agent ID (24 character hex string) |
| chat | string | yes | WhatsApp chat ID (e.g., 1234567890@c.us for phone numbers, 123456789000000000@g.us for groups, 123456789000000@newsletter for WhatsApp channels) |
| device | string | – | Target WhatsApp device ID (24 character hex string) used for message delivery. Only required if you have multiple WhatsApp numbers connected. Use MCP tool "get_whatsapp_devices" to retrieve a list of… |
| forward | object | – | Forward message details (required for forward action) |
| idempotencyKey | string | – | Your unique key for this message, 6 to 36 characters (a UUID works). Reuse the same key when retrying the same message: the API then answers 409 Conflict with the id of the message already created in… |
| message | string | – | Reply message content (required for reply action) |
| quote | string | – | Message ID to reply to (required for reply action) |
| reaction | string | – | Emoji reaction to send, use "-" to remove reaction (required for reaction action) |
| reactionMessage | string | – | Message ID to react to (required for reaction action) |
| reference | string | – | Custom reference ID for message tracking |
| selectId | string | – | ID of selected button/list option when replying to interactive messages (for reply action) |
| vote | object | – | Vote details (required for vote action) |
No output schema declared.
No examples provided.
manage_whatsapp_pipelines ~548
Comprehensive sales pipeline management tool for the WhatsApp sales funnel (CRM). A pipeline is a sales board: an ordered list of stages that deals move through, optionally fed by specific WhatsApp numbers. Use it to set up sales boards, inspect their configuration and read their headline numbers. Available actions: - list: Retrieve all sales pipelines of the account, optionally only those fed by one device - get: Retrieve a single pipeline with its full stage configuration - create: Create a new pipeline with stages, entry rules and behaviour settings - update: Update pipeline properties, stages, lost reasons or settings - delete: Remove a pipeline (refused with 409 while it still holds open deals) - summary: Per-stage deal counts and open amount totals for the board, plus won and lost totals for the last 30 days Stage ordering matters: a pipeline requires at least one open, one won and one lost stage, and the won and lost stages must come AFTER all the open ones, because a deal advances to the next open stage by position. When no stages are supplied on create, a sensible default ladder is seeded. Note: the sales funnel is available on the Platform Professional subscription and above. Write operations answer 403 on a plan without it, while reads stay available so an account that downgrades keeps access to its funnel data.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp sales pipelines |
| color | string | – | Pipeline color name used for quick identification |
| confirmDeletion | boolean | – | Confirm pipeline deletion (required for delete action) |
| currency | – | – | ISO 4217 currency code for deal amounts. Defaults to the account currency; on update, pass null to clear it back to that default |
| description | string | – | Pipeline description |
| device | – | – | WhatsApp device ID: only return pipelines fed by this device (for list action) |
| devices | array | – | WhatsApp device IDs that feed this pipeline. An empty array means all the account devices |
| entry | object | – | Entry rule configuration: how chats enter this pipeline |
| icon | string | – | Pipeline icon identifier. Defaults to funnel-dollar |
| lostReasons | array | – | Preset lost reasons offered when a deal is lost |
| name | string | – | Pipeline name (required for create action) |
| pipelineId | string | – | Pipeline ID (required for get, update, delete and summary actions) |
| settings | object | – | Pipeline behaviour settings |
| stages | array | – | Pipeline stages, in order. At least one open, one won and one lost stage are required, and the won and lost stages must come after all the open ones |
No output schema declared.
No examples provided.
manage_whatsapp_queue ~317
Comprehensive WhatsApp queue management tool supporting all queue operations. Perfect for monitoring queue health, controlling message delivery flow, and performing bulk message operations. Supports all WhatsApp queue operations through a unified action-based interface. Available actions: - get_status: Get comprehensive queue statistics and status information - update_status: Update queue processing status (pause/active/reject/freeze) with optional force delivery - delete_messages: Delete queued messages with flexible filtering options. A call with no messageIds, phoneNumbers, groupIds or dateRange would delete every queued and scheduled message, so it is refused unless confirmEmptyQueue is true
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp queue |
| confirmEmptyQueue | boolean | – | Set to true only to delete every queued and scheduled message of the number (scheduled ones are kept if filters.skipScheduled is true). delete_messages refuses a call without messageIds, phoneNumbers… |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| filters | object | – | Filtering options for selective message deletion (for delete_messages action) |
| force | boolean | – | Force delivery of all queued messages with no delay for 30 minutes (only works with "active" or "reject" status) |
| status | string | – | Queue processing status (required for update_status action) |
| waitForCompletion | boolean | – | Wait until all messages are deleted (may take up to 90 seconds for large queues) |
No output schema declared.
No examples provided.
manage_whatsapp_status ~644
Comprehensive WhatsApp status management tool supporting all status operations. Perfect for managing status lifecycle, publishing immediate or scheduled content, and retrieving status history. Supports all WhatsApp status operations through a unified action-based interface. Available actions: - get: Search and retrieve status history with comprehensive filtering - publish: Publish immediate status updates with text, images, or videos - schedule: Schedule status updates for future publishing with advanced timing
| Name | Type | Req | Description |
|---|---|---|---|
| ack | array | – | Filter by delivery status (for get action) |
| action | string | yes | Action to perform on WhatsApp status |
| chat | string | – | Filter status by specific chat WhatsApp ID (for get action) |
| color | string | – | Background color for text status (for publish/schedule actions) |
| delay | number | – | Delay in seconds (for schedule action with scheduleType: delay) |
| delayTo | string | – | Time notation delay (for schedule action with scheduleType: delayTo) |
| device | string | – | WhatsApp device ID (24-character hex string) |
| flow | string | – | Filter by message direction (for get action) |
| font | string | – | Font style for text status (for publish/schedule actions) |
| fromDate | string | – | Get status published from this date onwards (for get action) |
| idempotencyKey | string | – | Unique key to prevent duplicate status publishing (for publish action) |
| limit | number | – | Maximum number of status entries to retrieve (for get action) |
| media | object | – | Media content (image/video) for status update (for publish/schedule actions) |
| message | string | – | Text content for status update (required for text status in publish/schedule actions) |
| mine | boolean | – | Return only status published by your own WhatsApp number (for get action) |
| order | boolean | – | Enforce strict publication order for scheduled status (for publish action) |
| page | number | – | Page number for pagination (for get action) |
| phone | string | – | Filter status from specific phone number or WhatsApp ID (for get action) |
| publishDate | – | – | Specific publish date and time (for schedule action with scheduleType: date) |
| reference | string | – | Filter by custom reference field or set reference for publish/schedule |
| schedule | object | – | Schedule options for delayed publishing (for publish action) |
| scheduleType | string | – | Type of scheduling method (required for schedule action) |
| scheduled | boolean | – | Return only scheduled status to be published in the future (for get action) |
| search | string | – | Search status by text content, contact name, or media filename (for get action) |
| sortOrder | string | – | Sort order by creation date (for get action) |
| strictOrder | boolean | – | Enforce strict publication order (for schedule action) |
| timezone | string | – | Timezone for date scheduling (for schedule action) |
| toDate | – | – | Get status published up to this date (for get action) |
| type | array | – | Filter by status content types (for get action) |
| wid | array | – | Filter by specific WhatsApp message IDs (for get action) |
No output schema declared.
No examples provided.
manage_whatsapp_team ~742
Comprehensive WhatsApp team management tool supporting all team operations. Perfect for managing team member lifecycle, device access, and role assignments. Supports all WhatsApp team operations through a unified action-based interface. Available actions: - search: Search and list team members with filtering options - get: Get detailed information about a specific team member by ID - create: Create a new team member and grant them access to a WhatsApp device (requires device, email, displayName, password, role and color) - update: Update an existing team member's name, email, password, role or color - delete: Delete one or more team members from the account, choosing what happens to their assigned chats - grant_access: Grant an existing team member access to a WhatsApp device - revoke_access: Revoke a team member's access to a WhatsApp device, choosing what happens to their assigned chats Notes: - New team members are always created against a specific WhatsApp device and are granted access to it immediately. - grant_access and revoke_access operate on a single team member at a time. - delete, and revoke_access when chatAction is "reassign", require reassignTo.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform on WhatsApp team members |
| chatAction | string | – | What to do with the chats assigned to the removed team member |
| color | string | – | Team member color (required for create, optional for update) |
| device | string | – | WhatsApp device ID (required for create, grant_access and revoke_access actions; optional filter for search) |
| displayName | string | – | Team member display name (required for create) |
| string | – | Team member email address (required for create; may be used instead of userId to identify the member for delete and revoke_access) | |
| exceptIds | array | – | Exclude these team member IDs from search results |
| force | boolean | – | Delete team members even when they still have access to active WhatsApp devices (for delete action) |
| ids | array | – | Restrict search results to these team member IDs |
| invite | boolean | – | Send an invitation email to the new team member (for create action) |
| loginAfter | – | – | Only team members whose last login is after this ISO 8601 date and time |
| loginBefore | string | – | Only team members whose last login is before this ISO 8601 date and time |
| onlineAfter | – | – | Only team members last seen online after this ISO 8601 date and time |
| onlineBefore | – | – | Only team members last seen online before this ISO 8601 date and time |
| page | integer | – | Results page number |
| password | string | – | Team member password (required for create, optional for update) |
| query | string | – | Free text search over team member name and email (for search action) |
| reassignTo | – | – | Team member ID to reassign chats to (required when chatAction is "reassign") |
| remove | boolean | – | Also delete the team member from the account, not just from this device (for revoke_access action) |
| role | string | – | Filter by team member role for search, or the role to assign for create and update |
| size | integer | – | Maximum number of results per page |
| status | string | – | Filter by team member status (for search action) |
| userId | string | – | Team member ID (required for get, update, grant_access and revoke_access actions) |
| userIds | array | – | Array of team member IDs to delete (required for the delete action, max 10) |
No output schema declared.
No examples provided.
ping ~40
Basic ping test to check MCP server connectivity and response time. Returns server status and timestamp.
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | – | Optional message to include in the ping response |
No output schema declared.
No examples provided.
search_whatsapp_chat_files ~201
Search and list received files from WhatsApp chats (inbound files). These are media files that were sent to your WhatsApp number by other users. Supports filtering by chat, file type, date range, and more.
| Name | Type | Req | Description |
|---|---|---|---|
| after | string | – | Filter files received after this date (ISO 8601 format) |
| before | string | – | Filter files received before this date (ISO 8601 format) |
| chat | array | – | Filter by specific chat IDs |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| flow | string | – | Filter by message flow direction |
| page | integer | – | Page number for pagination (0-based) |
| search | string | – | Search files by filename or content |
| size | integer | – | Number of files to return per page |
| sort | string | – | Sort order for results |
| type | array | – | Filter by file media types |
No output schema declared.
No examples provided.
search_whatsapp_chats_by_name ~145
Search for WhatsApp chats by contact name, group name, phone number, company, metadata or private notes. Perfect for quickly finding specific conversations. Same as get_whatsapp_chats with action "search".
| Name | Type | Req | Description |
|---|---|---|---|
| contactTypes | array | – | Filter by chat type (required for by_contact_type action, optional elsewhere) |
| device | string | yes | WhatsApp device ID connected to Wassenger (24 character hexadecimal string) |
| limit | number | – | Number of WhatsApp chats per call (max 100) |
| page | number | – | Results page, starting at 0 |
| query | string | – | Free text to search for (required for search action) |
No output schema declared.
No examples provided.
search_whatsapp_outbound_files ~315
Search and list uploaded WhatsApp files with advanced filtering. Returns outbound files that have been uploaded to the platform for sending as media messages. Supports extensive filtering by filename, file type, size, creation date, tags, and more.
| Name | Type | Req | Description |
|---|---|---|---|
| after | string | – | Filter files created after this date (ISO 8601 format) |
| before | string | – | Filter files created before this date (ISO 8601 format) |
| ext | array | – | Filter by file extensions (e.g., ["jpg", "pdf", "mp4"]) |
| filename | string | – | Filter by exact filename |
| format | array | – | Filter by file format types |
| kind | array | – | Filter by file kinds (e.g., ["image", "video", "document"]) |
| maxSize | integer | – | Maximum file size in bytes |
| mime | array | – | Filter by MIME types (e.g., ["image/jpeg", "video/mp4"]) |
| minSize | integer | – | Minimum file size in bytes |
| origin | string | – | Filter by upload origin: upload (local file) or remote (URL) |
| page | integer | – | Page number for pagination (0-based) |
| permission | string | – | Filter by access permission level |
| search | string | – | Search files by filename, tags, or reference ID |
| size | integer | – | Number of files to return per page |
| status | array | – | Filter by file status |
| tags | array | – | Filter by file tags |
No output schema declared.
No examples provided.
send_whatsapp_flow ~371
Send a published WhatsApp Form (Meta WhatsApp Flow) to a chat as a native interactive message: one message instead of asking question after question. Only works within the 24h customer-service window; to start a conversation, send a template whose button opens the form. Pass a token to match the answers to your own record (it comes back in the message:flow:response webhook), and data to prefill the form.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | – | Message text shown above the button (max 1024 chars) |
| cta | string | yes | Text of the button that opens the form (max 30 chars) |
| data | object | – | Values to prefill the form with, by field name |
| device | string | yes | Target WhatsApp device ID (24 character hex string) |
| flow_id | string | yes | The WhatsApp Flow ID to send (flowId from list_whatsapp_flows) |
| footer | string | – | Footer text under the message (max 60 chars) |
| header | string | – | Header text above the message (max 60 chars) |
| idempotencyKey | string | – | Your unique key for this message, 6 to 36 characters (a UUID works). Reuse the same key when retrying the same message: the API then answers 409 Conflict with the id of the message already created in… |
| phone | string | yes | Recipient phone number in international format (E.164), e.g. +34600111222 |
| screen | string | – | Screen to open. If omitted, the form opens on its first screen. |
| token | string | – | Your reference for this send (an order or ticket id). It comes back with the answers. |
No output schema declared.
No examples provided.
send_whatsapp_message ~721
Comprehensive WhatsApp message sending with action-based operations. Supports all message types including text, media, location, contact, poll, event messages, with scheduling, live delivery, expiration, agent messaging, and template support. All message sending operations unified in one tool. Scheduling: pass exactly one of deliverAt, delay or delayTo on the text, media, template, agent or scheduled actions. Leaving all three out sends the message right away. On WhatsApp Cloud API (WABA) numbers a plain text, media or agent message still needs the customer to have written within the last 24 hours at delivery time, so a reminder that lands later than that must use the template action.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | Action to perform for WhatsApp message sending |
| actions | array | – | Actions to perform after message delivery (for agent action) |
| agent | – | – | Agent ID (24 character hex string) |
| agentId | string | – | Agent ID for agent messaging (required for agent action) |
| chat | string | yes | WhatsApp chat ID (e.g., 1234567890@c.us for phone numbers, 123456789000000000@g.us for groups, 123456789000000@newsletter for WhatsApp channels) |
| contacts | array | – | Array of contacts to send, max 10 (required for contact action) |
| delay | integer | – | Deliver the message after this many seconds (max 31536000, a year) |
| delayTo | string | – | Deliver the message after a duration: 30m, 2h, 3d, 2w, 1M (max a year) |
| deliverAt | string | – | Absolute ISO 8601 instant to deliver the message at, with a time zone (e.g. 2026-09-20T09:00:00+02:00). Must be in the future and less than a year away |
| device | string | – | Target WhatsApp device ID (24 character hex string) used for message delivery. Only required if you have multiple WhatsApp numbers connected. Use MCP tool "get_whatsapp_devices" to retrieve a list of… |
| enqueue | string | – | Message delivery mode (for live action) |
| event | object | – | Event content (required for event action) |
| expiration | string | – | Time-to-live duration e.g. "1h", "30m", "2d" (for expiring action) |
| idempotencyKey | string | – | Your unique key for this message, 6 to 36 characters (a UUID works). Reuse the same key when retrying the same message: the API then answers 409 Conflict with the id of the message already created in… |
| location | object | – | Location content (required for location action) |
| media | object | – | Media content (required for media action) |
| message | string | – | Text message content (required for text, scheduled, live, expiring, agent, template actions) |
| order | boolean | – | Ensure strict message delivery order |
| poll | object | – | Poll content (required for poll action) |
| previewUrl | boolean | – | Enable URL preview in messages (for text, template actions) |
| reference | string | – | Custom reference ID for message tracking |
| sendReadAck | boolean | – | Send chat read acknowledgment after the message is delivered |
| template | object | – | Template configuration (required for template action) |
No output schema declared.
No examples provided.
update_whatsapp_file_metadata ~148
Update metadata and properties of an uploaded WhatsApp file. You can modify filename, tags, expiration time, access permissions, format, and reference ID to better organize and manage your files.
| Name | Type | Req | Description |
|---|---|---|---|
| expiration | string | – | New expiration time-to-live |
| fileId | string | yes | File ID (24 character hexadecimal string) |
| filename | string | – | New filename for the file |
| format | string | – | New file presentation format |
| message | string | – | Default caption text for media messages (images/videos only) |
| permission | string | – | New access permission level |
| reference | string | – | New reference identifier |
| tags | array | – | New tags for the file |
No output schema declared.
No examples provided.
upload_whatsapp_file_from_url ~157
Upload a file from a remote URL to the WhatsApp platform for use in media messages. The file will be downloaded from the provided URL and stored securely. Returns the uploaded file details including ID for use in message sending.
| Name | Type | Req | Description |
|---|---|---|---|
| expiration | string | – | File expiration time-to-live |
| filename | string | – | Custom filename for the uploaded file |
| format | string | – | File presentation format (gif for videos as GIF, ptt for audio as voice note) |
| permission | string | – | File access permission level |
| reference | string | – | Optional reference identifier for file tracking |
| tags | array | – | Optional tags for file categorization |
| url | string | yes | Public URL from which to download file contents |
No output schema declared.
No examples provided.
validatePhoneNumbers ~63
Validates the format of given phone numbers according to E.164 standard and checks their potential validity. Can validate up to 500 phone numbers at once.
| Name | Type | Req | Description |
|---|---|---|---|
| phoneNumbers | array | yes | Array of phone numbers to validate in E.164 format (max 500) |
No output schema declared.
No examples provided.
verifyWhatsAppNumberExists ~44
Checks if a given phone number is associated with an active WhatsApp account.
| Name | Type | Req | Description |
|---|---|---|---|
| phoneNumber | string | yes | The phone number to verify in E.164 format |
No output schema declared.
No examples provided.
How do I install the WhatsApp Business API by Wassenger MCP server?
WhatsApp Business API by Wassenger is a hosted endpoint at https://api.wassenger.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.wassenger.com
claude mcp add --transport http com-wassenger-whatsapp 'https://api.wassenger.com/mcp'
What is the WhatsApp Business API by Wassenger MCP server?
WhatsApp Business API by Wassenger is an MCP server listed in the public MCP registry as com.wassenger/whatsapp. Send and read WhatsApp messages, templates, chats and campaigns through the official Business API. This page covers its hosted endpoint (https://api.wassenger.com/mcp).
Is the WhatsApp Business API by Wassenger MCP server safe to use?
WhatsApp Business API by Wassenger scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the WhatsApp Business API by Wassenger MCP server expose?
WhatsApp Business API by Wassenger exposes 54 tools: send_whatsapp_message, manage_whatsapp_message_interactions, verifyWhatsAppNumberExists, validatePhoneNumbers, get_whatsapp_chats, and 49 more. Their descriptions and schemas cost roughly 16,614 tokens of context every time the server is loaded.
Does the WhatsApp Business API by Wassenger MCP server require authentication?
No. We connected to WhatsApp Business API by Wassenger without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the WhatsApp Business API by Wassenger MCP server still maintained?
WhatsApp Business API by Wassenger is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the WhatsApp Business API by Wassenger MCP server?
VerifyMCP ran 13 checks on WhatsApp Business API by Wassenger, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.