MCP
Connect Claude, Cursor or any MCP client to the remote WASync server. Three tools, no code on your side.
WASync runs a remote MCP server over Streamable HTTP. Add it to an MCP client and the agent gets WhatsApp tools with no code on your side.
https://cloudapi.wasync.app/api/mcpThat host is deliberate. The REST base URL and every human-facing link use
developers.wasync.app, but the MCP server URL, the OAuth endpoints and the
/.well-known/… documents are protocol identifiers clients have already
registered — they stay on cloudapi.wasync.app and must match byte-for-byte.
Do not "normalise" them.
Connect a client
For clients that read a config file (Claude Desktop, Cursor, …):
{
"mcpServers": {
"wasync": {
"url": "https://cloudapi.wasync.app/api/mcp"
}
}
}Authentication is OAuth 2.0 with PKCE, handled by the client: the first call opens a browser, you approve, and the client stores the tokens. There is no key to paste.
A client without native remote-MCP support can bridge over stdio:
npx mcp-remote https://cloudapi.wasync.app/api/mcpFind it in the registry
WASync is listed in the official MCP Registry as:
app.wasync/whatsappClients and directories that read the registry can find the server by name instead of pasting the URL.
The tools
| Tool | What it does |
|---|---|
list_whatsapp_connections | Lists the connections the grant may use. |
send_whatsapp_message | Sends a WhatsApp text from one of them. |
read_whatsapp_messages | Reads recent messages on a connection. |
They map onto GET /connections, POST /messages and GET /messages, and they
obey the same scopes — an agent can only do what the
grant allows.
MCP or the REST API?
Use MCP when a human-supervised agent should be able to reach WhatsApp: answering from a chat client, drafting replies, looking things up. Use the REST API when your own software owns the behaviour and needs webhooks, idempotency keys, media sends or provisioning — none of which MCP exposes.
An OAuth grant is only ever issued over connections that already exist, so MCP cannot create a workspace's first connection. Create it with an API key first: Quickstart.