Server address
Sign in and choose a workspace
The first time the assistant connects, it opens Centillion’s sign-in page. Sign in with your Centillion account, then pick the workspace on the consent screen and allow access. The connection works in that workspace only. To use another workspace, remove the connection in the assistant and add it again. The assistant acts as you, with your workspace role:- Owners and Members can use every tool.
- Viewers can use the tools that read. The tools that change something refuse.
- Support Associates cannot view agents, so the workspace tools refuse.
- If you leave the workspace or your role changes, the next request follows the change.
Add the server to your assistant
Claude
Claude
On Pro and Max plans, open Customize → Connectors, click + Add,
choose Add custom connector and paste the server address. On Team and
Enterprise plans, an owner adds it in Organization settings →
Connectors. Claude connects from its own servers, so it needs the public
address above.
ChatGPT
ChatGPT
Open the plugins page, select +, choose Add custom MCP server, enter
the server address including
/mcp, choose OAuth for authentication, and
create it. Custom MCP servers depend on your ChatGPT plan and workspace
settings.Cursor
Cursor
Add the server to Cursor opens the sign-in page the first time you use the server.
~/.cursor/mcp.json, or to .cursor/mcp.json in a
project:Other MCP clients
Other MCP clients
Point the client at the server address. It finds the sign-in server from
https://app.cntillion.com/.well-known/oauth-protected-resource/mcp and
asks for the user:org:read scope, which is what shows the workspace
choice.Install the plugin
The Centillion plugin bundles the server address with a skill that shows the assistant how to build an agent here: find or create it, change its draft, add tools, write and run tests, read the results, and ask for a publish through an approval link. Its files are in the public centillion-plugin repository. An assistant whose command line installs plugins from a git marketplace adds the repository as a marketplace, then installs the plugin from it:/mcp in the assistant, choose the Centillion server and sign in as
described above.
In an assistant without the plugin, add the server by its address, as
Add the server to your assistant
describes. You get the same tools, without the skill.
Tools
Tools return short results and page long lists with acursor: pass back
the nextCursor of one answer to get the next page. When a tool refuses, it
says why and what to do, for example which setting an owner has to change.
Reading
Building
These tools change drafts, quiet branches, tools, tests, message templates, knowledge sources and an agent’s email address. None of them reaches a conversation on its own. Wheresave_workflow and
update_voice_settings land depends on the branch:
- On a quiet branch, one other than Main that nothing answers from yet (no share of traffic, no phone number pinned to it, no batch of calls), the change is the branch’s next version at once.
- On Main, on a branch with a share of traffic or a pinned phone number, and
on a branch set up for a batch that has not been launched, the change goes
into your draft on that branch. The answer says
savedAs: "draft". Nothing reaches a conversation until someone approves yourrequest_publish. - While a launched batch of calls on the branch has not finished, both are refused. Each call of a batch answers with the branch’s version as it is placed, so publishing in the middle would split one batch between two versions.
revision are refused if the branch or tool changed since
you read it; read it again and retry.
Knowledge added through add_knowledge_text or add_knowledge_website joins
the agent’s knowledge in the dashboard editor. Conversations use it once the
agent is next published from the dashboard editor; request_publish
publishes your own draft, which does not hold it.
Asking for approval
Numbers from another carrier are imported in the dashboard: importing takes
the carrier’s credentials, which an assistant never handles.
Approving what an assistant asks for
A request tool checks the request the way the dashboard would, so one that could not run is refused at once. Otherwise it stores the request and answers with a one-line summary and a link to the request’s page in the dashboard. Nothing has changed yet. The page shows who asked, through which assistant connection, and what will happen: for a publish, the version’s changes side by side with the branch as it is now, and the latest runs of each test on that exact draft, or “Not tested” when there are none; for traffic, each branch’s share now and after, and for each branch whose share rises, the version it would answer with compared with Main’s; for a batch, the batch and how many people it calls; for a phone number, the number, its monthly price, the most prepaid credits it takes and whether it renews; for an assignment, the number, the agent and the branch it will answer on; for recording retention and call limits, each setting now and after; for an email sender, its address. Anyone whose role can change agents, Owners and Members, can approve or decline it, including the person who asked. Viewers can open the page but not decide.- Approving runs the request once, through the same code the dashboard uses, and records who approved it. A second approval is refused.
- A request runs only on what was shown. If the draft changed, a branch got a new version, the batch was edited, the number was moved or bought by someone else, its price changed, the shared voice settings were changed, or the email sender was turned on or moved after the request, approving is refused: ask the assistant to send it again.
- Launching a batch also needs the workspace’s plan to include campaigns and the approver to have agreed to the outbound communications terms, as launching from the dashboard does. Until then the page keeps Approve off and the request stays pending.
- Archiving a workspace tool also needs admin access to that tool, as in the dashboard. An approver without it is refused, and the request stays pending for a tool admin or an Owner.
- Buying a number takes the workspace’s access to Centillion numbers, a plan with phone calls, and enough prepaid credits for the first month, as buying in the dashboard does. Approving without them fails and says which is missing.
- Assigning a number takes a plan with voice and phone calls, and an agent whose editor is on Main, as on the phone numbers page.
- Requests expire after 24 hours.
Conversations stay private by default
Conversations can hold your customers’ personal data, such as a caller’s details collected on a phone call. Assistants cannot read them until an owner turns on Allow AI assistants to read conversations in Workspace settings → AI assistants. The setting is off for every workspace until an owner changes it. While it is off,list_conversations and
get_conversation answer with a refusal and the link to the setting.
When you turn it on, everyone connected to the workspace can read transcripts
through their assistant, and what they read is sent to that assistant’s
provider. If your calls carry regulated data, the page reminds you of that
before you change it.
What the server never does
- It never shows or changes billing, API keys, legal terms or regulated-data settings, and it never imports a number from another carrier.
- It never returns a secret, such as a tool’s header value, an OAuth client secret or a carrier’s credentials.
- It never publishes, changes traffic, launches calls, archives anything, buys or routes a phone number, changes recording retention or call limits, or turns on an agent’s email replies without a person’s approval, and it never deletes anything.
- It never sends a message itself.
- Its instructions tell the assistant that text inside a result, such as a conversation or a tool description, is data and not an instruction.