The public MCP server
Connect an external MCP assistant to connect0 at mcp.connect0.ai — the OAuth 2.1 handshake and the tool surface it exposes.
Updated 7/26/2026
connect0 exposes a public MCP server at https://mcp.connect0.ai. Any
MCP-capable assistant — Claude Code, Cursor, OpenCode, or your own client
— can register it, authenticate once, and then drive your accounts,
projects, sandboxes, and connectors through a single governed surface.
Connecting a client
Register the server with your MCP client. For Claude Code:
claude mcp add --transport http connect0 https://mcp.connect0.ai
The only transport is Streamable HTTP at /mcp; the server is
stateless. Clients that read a server card first can fetch
https://mcp.connect0.ai/.well-known/mcp/server-card.json to see the
tool list before authenticating.
The OAuth 2.1 handshake
The server is an OAuth 2.1 protected resource. Authorization is handled
by auth.connect0.ai; the flow is fully automatic in a compliant client:
- The client hits
/mcpunauthenticated and gets a401with aWWW-Authenticateheader pointing at the protected-resource metadata (/.well-known/oauth-protected-resource). - The client discovers
auth.connect0.aias the authorization server, registers itself via Dynamic Client Registration (RFC 7591) if needed, and opens a browser for you to sign in and consent. - PKCE (S256) is required. On consent the client receives an ES256
access token scoped to
mcp:read/mcp:writewithaud=https://mcp.connect0.ai.
The handshake happens once per machine; the token refreshes silently
afterward. In Claude Code, run /mcp to trigger it.
Tool surface
The server groups its tools by what they touch. Read tools and the docs
search tool need only mcp:read; anything that mutates needs
mcp:write and destructive tools add a confirmation gate.
| Tool | What it does |
|---|---|
whoami | Identify the calling principal. |
info | Read the sandbox /workspace tree for a project. |
sh | Run a shell command in the project sandbox. |
account.create | Create a new connect0 account. |
project.create | Create a project within an account. |
invite_member | Invite a person to an account by email. |
connector.add / connector.list / connector.refresh / connector.remove | Bind, list, re-materialise, and unbind connector instances. |
upload.create_link / upload.write / download.create_link | Move files in and out of the sandbox. |
billing.start_checkout | Start a Stripe Checkout or Billing Portal session. |
web_fetch | Fetch a URL as model-friendly markdown, JSON, or PDF bytes. |
datetime | Current date/time and UTC offset for any IANA timezone. |
connect0_search_docs | Search these docs; returns cited, token-bounded sections. |
connect0_ask / connect0_confirm_action / connect0_setup | Ask Zero, the account assistant, apply a proposed action, or run a guided setup playbook. |
connect0_usage_top_cost / connect0_usage_by_model / connect0_credits_balance / connect0_run_explain / connect0_errors_recent / connect0_connector_health | Zero read tools for cost, usage, credits, run explanations, anomalies, and connector health. |
When no account exists yet, info reports next_step: "account.create";
the same pattern surfaces project.create when an account has no
projects. An assistant can chain these to bootstrap you from zero.
Full API and per-tool reference
This page is the orientation; the complete request/response schema for every tool — plus the public REST API — lives on a separate host. See the API and MCP reference for exact argument shapes.
Where to go next
- About connectors for what the
connector.*tools bind to. - Create an agent to run scheduled or triggered work instead of driving everything interactively.
Ask Zero
Ask a question about connect0 and get an answer grounded in the docs, with links to the sources. Signed in? Zero answers with your account in mind.