Skip to content

WasapFlow Bridge

com.wasapflow/bridgewasapflow.comstreamable-httpv1.0.0Scanned

Official WhatsApp Business API for your own CRM or SaaS: docs, numbers, messages, webhooks.

15 tools: 1 can delete or cancel things, 2 do something that can't be undone, 5 change things and 7 only read.

Tools: 1 delete, 2 irreversible, 5 write, 7 read.
  • Reads private data · 4
  • Reads text others write · 13
  • Can send data out · 2
  • No findings

Anlyon alternative

8 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

15 tools

Deletes or cancels 1Claude Code: deny
  • bridge_call_apiCall any WasapFlow Bridge endpoint not covered by the other tools (see bridge_docs_search for paths).Reads text others writeNo findings

    Why it is in this group

    • The name "bridge_call_api" says "call": a word for a change.
    • The description says "Irreversible".
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Call any WasapFlow Bridge endpoint not covered by the other tools (see bridge_docs_search for paths). Irreversible endpoints need {"confirm": true} in the body. Confirm with the user before any call that sends, deletes or changes something.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
Can't be undone 2Claude Code: ask
  • bridge_send_templateSend an approved template (works outside the 24-hour window).Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "bridge_send_template" says "send": a word for sending, and what is sent cannot be taken back.
    • The input addresses people (input.to): what it sends cannot be taken back.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe name "bridge_send_template" says "send": it sends or publishes something to other people.
    • outboundThe input takes a destination (input.to): what the tool writes goes there.
    Description, as the server wrote it
    Send an approved template (works outside the 24-hour window). components follows the Meta Cloud API format. This sends a real message and Meta may charge for it.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • bridge_send_textSend a text message from a connected number.Reads text others writeCan send data outNo findings

    Why it is in this group

    • The name "bridge_send_text" says "send": a word for sending, and what is sent cannot be taken back.
    • The input addresses people (input.to): what it sends cannot be taken back.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe name "bridge_send_text" says "send": it sends or publishes something to other people.
    • outboundThe input takes a destination (input.to): what the tool writes goes there.
    Description, as the server wrote it
    Send a text message from a connected number. Free-form text only reaches people who messaged that number in the last 24 hours; otherwise use bridge_send_template. This sends a real message.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 5Claude Code: ask
  • bridge_failed_webhooksWebhook events Bridge could not deliver to your webhook URL (with the error).Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Webhook events Bridge could not deliver to your webhook URL (with the error). Use when incoming messages are missing in the CRM.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • bridge_open_ticketOpen a WasapFlow support ticket.Reads text others writeNo findings

    Why it is in this group

    • The name "bridge_open_ticket" says "open": a word for a change.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Open a WasapFlow support ticket. Include what happened, when (with timezone), the exact error (Meta code, fbtrace_id), what was tried and the business impact.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • bridge_retry_webhooksRedeliver one failed webhook event (event_id) or all of them (omit event_id) after the webhook endpoint is fixed.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Redeliver one failed webhook event (event_id) or all of them (omit event_id) after the webhook endpoint is fixed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • bridge_usageCurrent Bridge plan: active WhatsApp numbers, slots and the monthly Bridge fee.Reads text others writeNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Current Bridge plan: active WhatsApp numbers, slots and the monthly Bridge fee.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
Only reads 7Show 7 read-only tools
  • bridge_docs_sectionReturn the full text of one section (with its sub-sections) of the WasapFlow Bridge docs, e.g.Reads private dataNo findings

    Why it is in this group

    • The description's first verb is "return": a word for reading.

    What it can reach

    • private-dataThe name "bridge_docs_section" says "doc": it reads documents.
    • private-dataThe description's first sentence says "return" and "doc": it reads documents.
    Description, as the server wrote it
    Return the full text of one section (with its sub-sections) of the WasapFlow Bridge docs, e.g. "Verify Incoming Webhooks", "Send Template Message", "Webhook Event Payloads", "Error Codes". No partner key needed.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • bridge_get_startedStep-by-step plan to add the official WhatsApp Business API to the user's own CRM/SaaS with WasapFlow Bridge: account, card, keys, webhook, Connect WhatsApp button, first message.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "bridge_get_started" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "message": it reads messages.
    • untrusted-inputThe description's first sentence says "message": it reads messages, which other people can write.
    Description, as the server wrote it
    Step-by-step plan to add the official WhatsApp Business API to the user's own CRM/SaaS with WasapFlow Bridge: account, card, keys, webhook, Connect WhatsApp button, first message. Call this first when someone wants to build or connect WhatsApp. No partner key needed.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false
  • bridge_list_numbersList the WhatsApp Business Accounts (client numbers) registered to this partner, with status.Reads text others writeNo findings

    Why it is in this group

    • The name "bridge_list_numbers" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List the WhatsApp Business Accounts (client numbers) registered to this partner, with status.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • bridge_list_templatesList the message templates of a number with their approval status.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "bridge_list_templates" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "list" and "message": it reads messages.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "list" and "message": it reads messages, which other people can write.
    Description, as the server wrote it
    List the message templates of a number with their approval status.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • bridge_list_ticketsList support tickets and replies status.Reads text others writeNo findings

    Why it is in this group

    • The name "bridge_list_tickets" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe name "bridge_list_tickets" says "list" and "ticket": it reads issues, which other people can write.
    • untrusted-inputThe description's first sentence says "list" and "ticket": it reads issues, which other people can write.
    Description, as the server wrote it
    List support tickets and replies status.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • bridge_number_statusLive status of a number from Meta: verified name, quality rating, messaging limit, name status.Reads text others writeNo findings

    Why it is in this group

    • The name "bridge_number_status" says "status": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Live status of a number from Meta: verified name, quality rating, messaging limit, name status.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

104 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 2 outbound tools breaks every one.

Reads private data4
Reads files, mail, messages, databases, secrets, calendars or repositories.
Can send data out2
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__bridge__bridge_send_template",
      "mcp__bridge__bridge_send_text"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http bridge https://officialapi.wasapflow.com/bridge/mcp
claude mcp add --transport http bridge https://officialapi.wasapflow.com/bridge/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__bridge__bridge_get_started",
      "mcp__bridge__bridge_docs_search",
      "mcp__bridge__bridge_docs_section",
      "mcp__bridge__bridge_list_numbers",
      "mcp__bridge__bridge_number_status",
      "mcp__bridge__bridge_list_templates",
      "mcp__bridge__bridge_list_tickets"
    ],
    "ask": [
      "mcp__bridge__bridge_connect_link",
      "mcp__bridge__bridge_send_text",
      "mcp__bridge__bridge_send_template",
      "mcp__bridge__bridge_failed_webhooks",
      "mcp__bridge__bridge_retry_webhooks",
      "mcp__bridge__bridge_usage",
      "mcp__bridge__bridge_open_ticket"
    ],
    "deny": [
      "mcp__bridge__bridge_call_api"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as bridge. Review it before you use it.

Capability tags behind 15 rules
  • mcp__bridge__bridge_get_started private-data, untrusted-input
  • mcp__bridge__bridge_docs_search private-data
  • mcp__bridge__bridge_docs_section private-data
  • mcp__bridge__bridge_list_numbers untrusted-input
  • mcp__bridge__bridge_number_status untrusted-input
  • mcp__bridge__bridge_connect_link untrusted-input
  • mcp__bridge__bridge_send_text untrusted-input, outbound
  • mcp__bridge__bridge_send_template untrusted-input, outbound
  • mcp__bridge__bridge_list_templates private-data, untrusted-input
  • mcp__bridge__bridge_failed_webhooks untrusted-input
  • mcp__bridge__bridge_retry_webhooks untrusted-input
  • mcp__bridge__bridge_usage untrusted-input
  • mcp__bridge__bridge_open_ticket untrusted-input
  • mcp__bridge__bridge_list_tickets untrusted-input
  • mcp__bridge__bridge_call_api untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.wasapflow/bridge/verify?hash=5d10b40e663653eda05e9eae6c00497cb800a99dc6f26a96f6ea9616791c38af" | jq -e '.changed == false'

Pinned hash 5d10b40e6636, from Nov 4, 2026, 09:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.wasapflow/bridge/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.wasapflow/bridge
[![anlyon.dev](https://anlyon.dev/badge/com.wasapflow/bridge.svg)](https://anlyon.dev/servers/com.wasapflow/bridge)

Source: MCP Registry. Synced Nov 4, 2026, 09:17 UTC.