Connect Any MCP Client

Nothing about the connection is specific to Claude or to OpenAI. Any client that speaks MCP over HTTP takes the same workspace URL and follows the same browser confirmation. See Work from Your Own AI for how connecting works and what a connected assistant can do.

What a client needs from you

Just the URL:

https://mcp.xpt.ai/<your-workspace>/mcp

Where a client asks for a transport, XPT Tracker is Streamable HTTP — not STDIO, which is for servers running on your own machine. Where it asks for a name, xpt_<your-workspace> is a good one. Leave any token, header or environment-variable field empty: the client discovers on its own that it must authorize, and sends you to the browser to do it.

Some clients configure a server in a file rather than in a form. The shape varies, but it is the same two values:

{
  "mcpServers": {
    "xpt-tracker": {
      "type": "http",
      "url": "https://mcp.xpt.ai/<your-workspace>/mcp"
    }
  }
}

Because there is no credential in it, a file like this can be committed to a repository and shared.

If the client cannot open a browser

A script, a CI job, a headless server — anything that runs without you — cannot confirm in a browser, so it sends a token instead.

Create one under Settings → MCP Server, which also shows the URL and the header to send it with. The token is shown once, does not expire, and travels as:

Authorization: Bearer xpt_...

It acts as you, with exactly your permissions. Treat it like a password, create a separate one per machine so a single one can be revoked without disturbing the others, and revoke it from Settings → API tokens and connected apps when it is no longer needed.

If something does not work

  • The client never sent you to the browser. It is probably configured for the wrong transport, or a token field was filled in and it is trying to use it instead.
  • The tools are missing but the server looks connected. Some clients need the connection activated inside a session before its tools appear — in Claude Code, /mcp.
  • Authorization was started but never finished. The server sits configured and unusable. Most clients have a command to start it again; Insights → Connected clients shows whether anything from that machine ever reached the workspace.