1. Serve three methods
Any language. The transport is JSON-RPC 2.0 overPOST to one URL.
Notifications (
notifications/initialized) arrive with no id and expect
no result. Answer 202 and move on.2. Get the host allowlisted
The platform refuses any host that is not onMCP_ALLOWED_HOSTS. This is not
configurable per workspace — it is a platform setting, and an empty list
denies everything.
Send us the hostname before you try to connect.
3. Connect it
In the ops console, Tool servers → Connect a server:string
required
Workspace slug this server serves.
string
required
Shown to operators, e.g.
Acme Commerce.string
required
Your MCP endpoint, e.g.
https://acme.example.com/mcp.string
Minted by you, sent as
Authorization: Bearer … on every request. Write-only
once stored.4. Switch it on — twice
1
An operator enables the tool
Discovered tools arrive disabled. Connecting a server never silently
grants an assistant a new ability.
2
The customer enables the capability
On the assistant, Connected tools must be on. Both gates are
required; neither implies the other.
5. Watch it get called
Message the assistant on WhatsApp with something your tool answers. The turn debugger shows every tool called and whether it succeeded.If the tool is never called, check the two gates above before you look at
your server. That is the usual answer.
Next
Tool contract
Naming rules and the schema subset we accept.
Side effects
What happens when the model retries a call that spends money.

