Start by what you have
An error you do not recognise
Symptoms, what each one means, and what to do about it.
A client that will not connect
The exact config block for each transport, and the two checks that refuse
a request.
A tool that is missing from the list
Scopes are enforced at registration, so an out of scope tool is absent
rather than refused.
A device that will not do something
Abilities are declared per device. Read the capability block first.
An action whose response you lost
Look the outcome up by its idempotency key instead of retrying blind.
A question about what you are charged for
What is counted, on which axis, and what is deliberately not.
A key or token that leaked
Revoke rather than rotate, and what the ledger can and cannot tell you.
A worry about the size of the bill
What bounds your spend today, including the cap that does not exist.
A capability you are not sure exists
The boundaries of this surface, so you can rule it in or out quickly.
Reference material
Three pages are generated from the source rather than written by hand, so they are the ones to trust when prose and behaviour disagree:- Tool reference, generated from the registered schemas.
- Error reference, generated from the error code set.
- Command reference, generated from the CLI parser.
Reading the site as an agent
See For agents for the machine readable views this site publishes, and for how to tell the documentation MCP server apart from the one that drives devices.Frames are stored. Since 2026 09 08 every frame a run captures is kept in
private object storage for as long as your organisation is. There is no
endpoint that reads one back today: the two that did have been withdrawn. See
Frame retention.
What is not live yet
- Interactive OAuth sign-in from a generic MCP client. The authorization
server is Clerk (
https://clerk.phonebase.co), which offers no dynamic client registration, and no third party client has been verified to complete the flow. The hosted endpoint (https://mcp.phonebase.co/mcp, live) is reached with an API key. See Getting a key. - Some backend kinds are declared but have no adapter behind them yet. See Capabilities for which ones you can reach.