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.
{
"mcpServers": {
"easycoexistence": {
"url": "https://easycoexistence.com/api/mcp"
}
}
}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.
- 1Your assistantClaude, ChatGPT, Cursor or Claude Code, over MCP
- 2easycoexistence.com/api/mcpRemote, authorised by OAuth. No key is pasted anywhere
- 3Meta Cloud APIThe documented Graph endpoints, with the account's own token
- 4The 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.
- Open Settings and go to Connectors.
- Choose Add custom connector and paste the endpoint below.
- Save, then ask Claude to list your numbers. It opens a sign in the first time.
https://easycoexistence.com/api/mcp- Open Settings, go to Connectors, then Advanced, and turn on Developer mode.
- Add a connector with the endpoint below.
- Start a chat and ask it to list your numbers to trigger the sign in.
https://easycoexistence.com/api/mcp- Run the command below in any terminal.
- Run /mcp inside Claude Code and authenticate.
- The eleven tools are available in every session from then on.
claude mcp add --transport http easycoexistence https://easycoexistence.com/api/mcp- Open Settings and find the MCP section.
- Add a server using the configuration below.
- Reload, then ask Cursor to list your numbers.
{
"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
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.
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.
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.
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.
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.
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.
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.
list_numbersget_number_healthget_template_statuslist_templatesget_api_credentialsget_connect_linkget_docs
send_messagesend_templatecreate_templateset_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.
Herramientas de lectura, envío, plantilla, cableado y documentación, todas listadas aquí abajo.
Throughput fijo de envío para un número en Coexistencia, definido por Meta. No se puede subir, ni por nosotros ni por ti.
Cuánto tiempo mantiene abierta la sesión la respuesta de un cliente. Fuera de ella, solo se puede enviar una plantilla aprobada.
El servidor es remoto, así que nada corre en tu máquina y no queda ninguna sesión guardada en ningún lado.
Preguntas frecuentes
¿Pueden banear el número de mi cliente por esto?
No. Esta es la Cloud API oficial de Meta, alcanzada por la función de Coexistencia de la propia Meta. El riesgo de baneo del que habla la gente viene de gateways no oficiales que entran como dispositivo vinculado, que es un mecanismo completamente distinto.
¿Con qué asistentes funciona el conector?
Con cualquiera que hable MCP por HTTP con OAuth: Claude, ChatGPT, Cursor, Claude Code y Codex hoy. Es un solo endpoint remoto, así que nada corre en tu máquina.
¿Mis conversaciones pasan por sus servidores?
No. Los mensajes entrantes se enrutan de Meta directo al webhook que tú indiques, y nosotros nunca guardamos contenido de conversación. Guardamos el estado de la cuenta y del número de teléfono necesario para monitorear la conexión, nada más que eso.
¿Puedo usar un solo conector para varios clientes?
Sí. Una cuenta admite tantos números como necesites, cada uno cobrado como su propia conexión, y el conector los lista todos. No hay ninguna restricción para usarlo con negocios a los que atiendes.
¿Listo para empezar?
Configura WhatsApp Coexistence en minutos, no en meses. La app sigue funcionando en el teléfono.
Start Free Trial7 days free. Nothing is charged until the trial ends.