Server URL
Use the MCP URL of your workspace’s region. You find it in the dashboard under Developers, on the Docs tab.
The server uses the Streamable HTTP transport and answers with JSON. It supports MCP protocol versions
2025-11-25, 2025-06-18 and 2025-03-26.
Connect
Create an API key in the dashboard with only the scopes the assistant needs, and send it as a bearer token. Dashboard logins and session cookies are not accepted. Most MCP clients take a configuration like this. Field names vary between clients, so check yours.Mcp-Session-Id header. Send it with every later request:
Tools
tools/list returns only the tools your key’s scopes allow. A key with calls:read alone sees the three call-reading tools and nothing else.
Each tool’s input schema mirrors the parameters and body of its API operation, so the API reference describes every field. The result is the operation’s JSON response.
There are no tools for API keys, webhooks, top-ups, bundles or team members. Those stay in the dashboard. The server offers tools only: no resources, prompts or sampling.
Placing calls
create_call needs the calls:write scope. It goes through every check an API call goes through: compliance rules, calling windows, caller ID, consent, your balance and your spend limits. A call that fails a check is not placed, and the tool returns the reason.
Use only numbers you have the right to call. See outbound calls with consent.
Idempotency
Tools that change something accept an optionalidempotency_key argument. It works like the Idempotency-Key header: repeating a tool call with the same key within 24 hours returns the first result instead of acting twice.
Without one, the server derives a key from your API key, the MCP session and the JSON-RPC request id. A message that is delivered twice is then applied once. A new request id is a new action.
Results and errors
A result larger than 256 KB is not returned. The tool reports an error instead; ask again with filters or a smallerlimit.
When the API refuses a tool call, the tool result is marked as an error and holds the same problem JSON the API returns, with its code. For example, a key without the needed scope gets auth.scope_missing.
The server itself refuses a request before any tool runs in these cases:
A request after
initialize without an Mcp-Session-Id header gets 400.