Spun runs a hosted MCP server over your business WhatsApp: the number you already use, the conversations in it, and the contacts behind them. Point Claude at it and your assistant can see what matters, draft what helps, and send only what a human on your team approves.
This page is the walkthrough. Three clients, the exact clicks, and the one decision you make on the consent screen. Everything else about the server, its scopes, limits and postures, is on the Spun MCP page.
Before you start
- A Spun workspace with a WhatsApp number connected. Spun links to the number you already use; nothing goes through the Business API.
- You need to be an organization manager in Spun to grant a client access. Members cannot.
- The server address, the same for every client: https://api.spun.com/api/mcp
Start with read access. The consent screen never grants autonomous sending, and the sensible first key is a read-only one. Widen its rope once you have seen how the assistant behaves.
claude.ai (web, mobile and Desktop): a custom connector, no API key
- 1
Open Connectors
In claude.ai, go to Settings, then Connectors.
- 2
Add a custom connector
Choose Add custom connector and paste the server address: https://api.spun.com/api/mcp
- 3
Sign in with your Spun account
Claude sends you to Spun. Sign in with the account that manages your organization.
- 4
Pick the organization and the access level
On the consent screen you choose which organization the assistant may see and how much it may do. Organization managers only. The consent screen itself never grants autonomous sending.
- 5
Ask your first question
Back in Claude, the Spun connector is live. Ask about your conversations or contacts. If your team later wants the assistant to send on its own, an organization manager enables that afterwards under Connected AI apps in Spun settings; re-consenting resets it.
Claude Code: one command, with a key
Claude Code connects with an API key rather than the sign-in flow. Create a key in Spun first (the walkthrough is on the Spun MCP page: one-click presets for a read-only analyst, an assistant without sends, or an assistant with sends, with per-scope warnings, optional expiry and one-click revocation). Then run one command; the key travels as a Bearer header:
claude mcp add --transport http spun https://api.spun.com/api/mcp --header "Authorization: Bearer wap_YOUR_KEY"
Related: Spun MCP: keys, scopes and the walkthrough for creating your first key
Claude Desktop
Prefer the custom connector above: Settings, Connectors, sign in with Spun, no key to manage. The mcp-remote bridge in claude_desktop_config.json is the API-key alternative for setups that need one.
What happens when the assistant wants to send something
AI drafts. Your team approves. The server sends. A proposed send lands in an "AI sends" queue inside the Spun inbox with the real content, the recipient, the channel and the assistant's stated reason, and approving it is what executes it. The approval card is generated by the server from what will actually happen, never from the assistant's own description of itself.
That is the default posture, called two_step, and it is one organization-level setting that governs every key. Quiet hours apply on top: outside your organization's window, sends are held or denied, your choice, and released with fresh checks when the window ends.
ChatGPT, Gemini, Cursor and the rest
The same server works from ChatGPT and the Gemini app as connectors with the same Spun consent screen, and from Cursor, the Anthropic API and other MCP clients with a key. The Spun MCP page keeps the client compatibility table, including which clients Spun has verified end to end and which are documented by the vendor but not yet run by us.
Related: Client compatibility table