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.
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 answersserver/discoverinstead, and the handshake revisions every shipping client speaks today —2025-06-18and the two before it. The authoritative list ismcpserver/protocol.py: SUPPORTED_PROTOCOL_VERSIONS. A client working today needs to change nothing; theMCP-Protocol-Versionheader alone decides which era you are served in, and an absent one still means2025-03-26. See Protocol revisions. - Stateless in both eras. No
Mcp-Session-Idis issued and none is expected. Sessions were a MAY in the handshake era and2026-07-28removed 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.

