MCP servers overview
MCP (Model Context Protocol) is an open standard for connecting AI clients — Claude Code, Claude Desktop, and other MCP-native hosts — directly to a server’s tools, without going through a chat-style API. Octo exposes two MCP servers over Streamable HTTP.
The two servers
Section titled “The two servers”The short path is the simple one. Point a client at /mcp and Octo picks its
own tools; reach for /mcp/tools only when your own loop should own the plan.
Changed:
/mcpused to serve the full catalog. A client still pointed there will not error — it will simply see 3 tools instead of the whole catalog. If that is you, switch to/mcp/tools.
| Server | Path | What it exposes |
|---|---|---|
| Full tool catalog | /mcp/tools | Octo’s workspace tool catalog — the same tools the dashboard agent can call (agents, campaigns, contacts, segments, conversations, voice, phone numbers, etc.), filtered by your API key’s role exactly as they are everywhere else. |
| Delegate to Octo (recommended) | /mcp | Talk to Octo’s own conversation as MCP tools — send a message, list conversations, fetch a conversation’s messages. Built for programmatic clients (CI, other agents) that want to chat with Octo itself rather than call individual tools directly. |
Both servers require a workspace API key on connect (see Get an API
key) and both filter what’s available by that
key’s role, the same way /v1 does (see
Authentication).
/mcp/tools — the tool catalog
Section titled “/mcp/tools — the tool catalog”Connecting here gives your MCP client direct access to Octo’s tool registry —
the same building blocks the meta-agent itself uses to take action in your
workspace (create a campaign, look up a contact, check a conversation, search
and buy a phone number, etc.), role-filtered per the connecting key. This
includes bulk tools (delete_conversations, delete_channels,
delete_contacts, delete_campaigns, undeploy_agents, cancel_campaigns)
that act on many matching rows in one confirmed call.
Spend, destructive, mass-message, and live-deployment-mutating tools are
refused over /mcp/tools, with an error naming the tool’s risk class. MCP
is a stateless transport with nowhere to park a pending action, so there is no
way to obtain a human confirmation mid-call. Run those actions from the
dashboard, from /mcp, or through the /v1 API, where Octo parks them for
confirmation — see
Confirmations. Octo can also build saved
segments from a natural-language audience description (e.g. “everyone with
a phone number”) and reuse them across campaigns — the same capability the
composer’s Magic Input uses.
/mcp — talk to Octo
Section titled “/mcp — talk to Octo”Also answers on
/mcp/octoand/mcp-meta-agent, its earlier paths, kept permanently so existing client configs keep connecting.
Connecting here exposes a small, fixed set of tools for driving a conversation with Octo itself:
send_message— hand Octo a job in plain language and wait for the completed result.list_conversations— list your workspace’s Octo conversations.get_conversation— fetch a conversation’s message history.
Use this when you want an external agent or script to converse with Octo — delegating a task in natural language — rather than calling individual workspace tools yourself.
Authentication
Section titled “Authentication”Both servers take a workspace API key as a bearer token, and nothing else.
There is no OAuth authorization server — the hosted API does not publish
.well-known/oauth-protected-resource, .well-known/oauth-authorization-server,
or .well-known/openid-configuration, and requests to those paths return
404. Clients that support OAuth discovery fall back to the static bearer
token you configure.
See Connect for client config, and Get an API key to mint one.