Skip to main content
The platform’s MCP server is Preview. The transport and the credentials are settled; the tool set is still growing, and a tool may be added or renamed between releases. Do not build an unattended production dependency on it yet.

Two directions, and they are not the same thing

MCP is symmetric — the same protocol, the same three methods, pointed either way. This site documents both, and confusing them costs a day.

This tab — we serve you

Your chat client is the MCP client. The platform is the server. You paste our URL into Claude, ChatGPT, Grok, an editor or anything else that speaks the protocol, and a model there drives your workspace: list agents, ingest knowledge, run an extraction, pull a report.

Documentation tab — you serve us

Your product is the MCP server. The platform is the client. You give us a URL, we discover your tools, and an assistant calls them mid-conversation while a customer waits. That is Building a tool server.
The nav group Building a tool server is the opposite of this tab. If you are reading about MCP_ALLOWED_HOSTS, a 10-second call budget or how the platform retries your server, you are on the wrong page — those are rules for a server you run. Nothing on this tab asks you to run anything.

What you get

One endpoint, and the same permissions and the same credits as the REST API:
  • Two eras of the protocol, on one URL. The current revision 2026-07-28, which has no handshake and answers server/discover instead, and the handshake revisions every shipping client speaks today — 2025-06-18 and the two before it. The authoritative list is mcpserver/protocol.py: SUPPORTED_PROTOCOL_VERSIONS. A client working today needs to change nothing; the MCP-Protocol-Version header alone decides which era you are served in, and an absent one still means 2025-03-26. See Protocol revisions.
  • Stateless in both eras. No Mcp-Session-Id is issued and none is expected. Sessions were a MAY in the handshake era and 2026-07-28 removed them from the spec outright; not having them removes a whole class of expiry bugs.
  • Two ways to authenticate. A workspace API key as a bearer token, or a full OAuth 2.1 flow for the connector UIs that demand one. See Authentication.
  • Your tenancy, unchanged. A credential identifies one workspace, and every tool runs pinned to it. There is no tool that reaches another customer’s data.
  • No client is special. Nothing in this server branches on which client is calling. The pages below exist because those are the clients people ask about, not because they are the ones that work — see Any MCP client.
GET /mcp returns 405, and so does DELETE. That is conformant, not a fault — the Streamable HTTP spec permits a server with no SSE stream and no session teardown to answer exactly that way. If you are testing the endpoint with a browser or curl and get a 405, the server is working.

Where to go next

Quickstart

A key, a URL, and a first tool call.

Tools

A curated set over the whole platform, how to get the authoritative list, and the two behaviours that surprise people.

Authentication

Bearer keys, the OAuth flow, and which client needs which.

Credits

What a tool call costs and what happens when the wallet is empty.

Protocol revisions

Two eras on one URL. Which one your client is in, why an old client needs to do nothing, and what a 2026-07-28 client must send on every request.

Connect a client

Claude

claude.ai connectors and Claude Desktop, over OAuth.

Claude Code

One command, or a shared .mcp.json for the team.

ChatGPT

Connectors in the chat UI, and the Responses API mcp tool.

Grok

A custom connector, and remote MCP from the xAI API.

Cursor

mcp.json, per-project or global.

VS Code

.vscode/mcp.json and agent mode.

Any MCP client

Windsurf, Zed, Cline, Continue, Goose, Junie, LibreChat, Warp, n8n — and the four facts that connect anything else, including whatever you build against an MCP SDK. The client list is not a whitelist.