body. The API reference and the SDKs describe the same operations.
Arguments mirror the HTTP call
assign_phone_number is POST /v1/telephony/phone-numbers/{number_id}/assign. Its arguments:
list_calls takes agent_id, status, batch_id, start, end, limit and offset beside each other. The response is the API’s JSON body unchanged; an error is the API’s error envelope with isError set.
Names
Tool names are the operation names the SDK method names are derived from:
Your client’s tool list is the complete inventory. Every endpoint in the API reference is a tool, except those listed in permissions.
Fetching argument shapes
A tool definition carries only its method, path and a one-line summary. Its argument schema is fetched on demand, which keeps the tool list small enough to load:
These two are the only tools whose arguments are inline; each takes a single
name string. The same documents are served over HTTP at GET /v1/schemas/functions/{name} and GET /v1/schemas/{name} — see schemas.
The five deferred types
Inside a function’s argument schema, these types appear as a placeholder whose description names the document to fetch, for example"Full shape: describe_schema('AgentConfig')."
The documents nest:
AgentTeam defers to AgentConfig and AgentOverride, and AgentConfig defers an inline tool’s operations to ToolOperations.
Request validation is done by the API, not the MCP server, and always uses the full types.
Next
Permissions
Roles, annotations, and what is not exposed.
Recipes
Prompts that use these tools end to end.