Meta Tech Provider

Give an AI assistanta real WhatsApp number.

An MCP server lets Claude, ChatGPT or Cursor use WhatsApp directly: list your numbers, check their health, send messages and templates, and point webhooks at your own systems. Ours runs on Meta's official Cloud API, so the number your customers already message is never at risk.

Start Free Trial7 days free. Nothing is charged until the trial ends.
Add the connector
{
  "mcpServers": {
    "easycoexistence": {
      "url": "https://easycoexistence.com/api/mcp"
    }
  }
}
OAuth sign inNothing installedEvery number on the account
No message storageBusiness App + Cloud APIMCP for Claude and ChatGPTLive in 2 minutes

What the connector actually connects to

One remote server, reached over OAuth, calling Meta's documented Cloud API on a number that is still live in the WhatsApp Business app. There is no session held anywhere and nothing runs on your machine.

  1. 1
    Your assistantClaude, ChatGPT, Cursor or Claude Code, over MCP
  2. 2
    easycoexistence.com/api/mcpRemote, authorised by OAuth. No key is pasted anywhere
  3. 3
    Meta Cloud APIThe documented Graph endpoints, with the account's own token
  4. 4
    The business numberConnected through Coexistence, app still working on the phone

The alternative most WhatsApp automation takes is to sign in as a linked device and drive the WhatsApp Web session. That is against WhatsApp's terms and Meta detects it from the shape of the traffic rather than the code sending it, which is why an anti-ban claim describes something the vendor cannot control. Nothing here uses that mechanism.

How to install it

One remote endpoint, the same for every number on the account. There is no package to install and no key to generate: each client signs in with OAuth the first time it calls a tool.

ClaudeSettings → Connectors → Add custom connector
  1. Open Settings and go to Connectors.
  2. Choose Add custom connector and paste the endpoint below.
  3. Save, then ask Claude to list your numbers. It opens a sign in the first time.
Connector URL
https://easycoexistence.com/api/mcp
ChatGPTSettings → Connectors → Advanced → Developer mode
  1. Open Settings, go to Connectors, then Advanced, and turn on Developer mode.
  2. Add a connector with the endpoint below.
  3. Start a chat and ask it to list your numbers to trigger the sign in.
Connector URL
https://easycoexistence.com/api/mcp
Claude CodeOne command, once per machine
  1. Run the command below in any terminal.
  2. Run /mcp inside Claude Code and authenticate.
  3. The eleven tools are available in every session from then on.
Terminal
claude mcp add --transport http easycoexistence https://easycoexistence.com/api/mcp
CursorSettings → MCP, or ~/.cursor/mcp.json
  1. Open Settings and find the MCP section.
  2. Add a server using the configuration below.
  3. Reload, then ask Cursor to list your numbers.
mcp.json
{
  "mcpServers": {
    "easycoexistence": {
      "url": "https://easycoexistence.com/api/mcp"
    }
  }
}

Connecting a number is a separate, one time step that needs a browser, because Meta's onboarding uses its own popup and a QR scan. get_connect_link returns that link if you would rather the assistant hand it to you.

Rules the tools enforce, so the assistant does not learn them the hard way

Free text only inside 24 hours

send_message works when the recipient has messaged the number in the last 24 hours. Those replies are free. Outside it, send_template with an approved template is the only thing that delivers, and the tool description says so, so the assistant reaches for the right one without being told.

On Coexistence, templates are API only

The phone app cannot send a template on a Coexistence number. Anything scheduled, transactional or outside the window has to go through the API, which is a large part of why a number gets connected at all.

Meta bills marketing to your own account

Marketing sends are charged by Meta to the payment method on the WhatsApp Business Account, set up in WhatsApp Manager. It never passes through us and we cannot add a card through the API.

A webhook destination must complete Meta's handshake

HTTPS, and on a GET carrying hub.mode=subscribe and your hub.verify_token the endpoint has to echo hub.challenge back. We validate before the call, so a bad URL fails immediately instead of looking connected.

Eleven tools, and what each one is actually for

One connector exposes all of them across every number on the account. list_numbers comes first because every other tool takes a connection_id from it.

ReadWhat exists, and whether it is healthy
  • list_numbersConnected numbers with status, quality rating and messaging tier. The starting point for everything else.
  • get_number_healthA live Meta snapshot plus the recent monitoring timeline: webhook events and poller checks together.
  • get_api_credentialsGraph API base URL, WABA id, phone number id, and the account's own access token where one is available.
SendReach a customer, inside the window or outside it
  • send_messageFree text, and only inside the 24 hour customer service window. Replies inside that window are free.
  • send_templateHow a conversation is started with someone who has not written first.
  • list_templatesTemplates on the account with their review status.
  • create_templateSubmits to Meta for review. UTILITY, MARKETING or AUTHENTICATION, with {{1}} style variables that need example values.
  • get_template_statusAPPROVED, PENDING or REJECTED, by template name.
WireThe pair that makes this more than a chat toy
  • set_webhook_destinationRoutes incoming messages and phone app echoes from Meta straight to your system. Pass null to reset it.
  • get_connect_linkReturns the dashboard link and steps for connecting a new number, since onboarding needs a browser.
  • get_docsThe full product documentation as markdown, so the assistant answers from our docs instead of guessing.

What still works when billing lapses

Only the tools that act on the outside world are gated. Reading stays open, on purpose.

Stays open
  • list_numbers
  • get_number_health
  • get_template_status
  • list_templates
  • get_api_credentials
  • get_connect_link
  • get_docs
Gated
  • send_message
  • send_template
  • create_template
  • set_webhook_destination

An account that cannot see why it is blocked, or cannot check whether its numbers are healthy, has no way back except a support ticket. Those two reads are also what the health monitoring itself depends on.

The pair that matters if you serve other businesses

get_connect_link returns the link a client opens to attach their own number, and set_webhook_destination points that number at your system the moment it connects. Together they mean an agent can onboard a client end to end without anyone opening a dashboard.

One account holds as many numbers as you need, each billed on its own, and list_numbers returns all of them with the connection_id every other tool takes.

11 tools

Read, send, template, wiring and docs tools, all listed below.

20 msg/s

Fixed sending throughput for a Coexistence number, set by Meta. Not raisable, by us or by you.

24 hours

How long a customer's reply keeps the session open. Outside it, only an approved template can be sent.

0 installs

The server is remote, so nothing runs on your machine and no session is held anywhere.

Frequently asked questions

Can my client's number get banned because of this?

No. This is Meta's official Cloud API, reached through Meta's own Coexistence feature. The ban risk people talk about comes from unofficial gateways that sign in as a linked device, which is a different mechanism entirely.

Which assistants does the connector work with?

Anything that speaks MCP over HTTP with OAuth: Claude, ChatGPT, Cursor, Claude Code and Codex today. It is one remote endpoint, so nothing runs on your machine.

Do my conversations pass through your servers?

No. Incoming messages route from Meta straight to the webhook you nominate, and we never store conversation content. We hold the account and phone number status needed to monitor the connection, nothing more.

Can I use one connector for several clients?

Yes. One account can hold as many numbers as you need, each billed as its own connection, and the connector lists all of them. There is no restriction on using it for businesses you serve.

Ready to get started?

Set up WhatsApp Coexistence in minutes, not months. The app keeps working on the phone.

Start Free Trial7 days free. Nothing is charged until the trial ends.

Keep reading

MCP Server for WhatsApp Coexistence