Skip to main content
Clients such as Claude, ChatGPT and Cursor reach xpander over MCP. Agents reach skills that are served over MCP, with the same approvals, credentials and record as any other skill.

Inbound: clients reach xpander over MCP

The api service is the entry point. REST calls carry an API key. MCP takes OAuth 2.1 only, on every deployment.

How a client signs in

  1. A call without a token gets 401 with WWW-Authenticate: Bearer resource_metadata=.../.well-known/oauth-protected-resource. An x-api-key header gets the same 401.
  2. The client registers at /oauth/register.
  3. The person signs in at /oauth/authorize with PKCE, and the client exchanges the code at /oauth/token.
  4. The client calls /mcp/ with Authorization: Bearer <token>.

On an Air-Gapped install

The Omni endpoint is the install’s public MCP URL, global.mcp.publicUrl. Until it is set, /omni-mcp/ answers 404, the MCP row on Platform > Agents > Channels reads Not offered on this install, and the License page shows MCP endpoint as Disabled. An agent’s Channels pane shows only Omni and API, so the organization switch decides. See Channels.

The Skills registry address

Platform > Agents > Skills registry gives MCP clients one address for the organization’s registry. Each person signs in as themselves.

Each person’s library, in preview

Each person’s own library is served as one MCP endpoint at your MCP host: mcp.<your domain> on Hybrid (from the chart’s ingress, no global.mcp value). Air-Gapped has no MCP host, so it is not served there. Per-agent MCP URLs are no longer served. Hybrid clients move to the MCP host. Air-Gapped clients move to https://api.<your domain>/mcp/, which lists and runs your agents.

The APP_URL value

/oauth/authorize redirects to ${APP_URL}/oauth_login, read from the api service, so APP_URL must be the UI origin. On the API host, the browser lands on {"detail":"Not Found"}. Chart keys: Model Context Protocol.

Outbound: skills served over MCP

Skills settings on the MCP servers tab listing servers with Shared with and Authentication

Settings > Skills > MCP servers with Add server. Shown with sample data.

Every place below takes the same fields: Name, Server type (Remote or Local), Server URL, Transport (HTTP or SSE), Authentication (None, API key, OAuth2, Headers or Signed-in user (SSO)), and an optional Health check. For Signed-in user (SSO), Token sent is Access token, ID token or Exchange for an audience (with an Audience).

Where to register an endpoint

Registry settings

Off removes it everywhere. Optional leaves it for each agent to add. Auto-injected and On by default put it on every agent in its audience. Local stdio entries (a uvx ... command) work on Air-Gapped too. Their actions can be gated for approval like any skill’s.

Whose credential the endpoint receives

See whose credential a shared agent uses.
Add server panel in Settings > Skills > MCP servers with Name Inventory, Shared with Organization, Server type Remote, a Server URL, Transport HTTP, Authentication Signed-in user (SSO), Token sent Exchange for an audience, Audience api://inventory, and Health check (optional)

Add server with Authentication set to Signed-in user (SSO), Token sent set to Exchange for an audience, and an Audience. Shown with sample data.

How calls behave

  • Remote endpoints use HTTP or SSE. Local stdio servers run in the agent’s workspace and are tested at save time.
  • When an endpoint asks for input (MCP elicitation), the person answers in the chat, or an app answers over the API.
  • Long-running operations (MCP Tasks) run in the background.
  • A dropped session reconnects. Connected means a real call worked.

An MCP gateway you already run

Add its endpoints to the registry as above. Both its policy and xpander’s controls apply to xpander’s calls. Its other clients stay outside xpander. It must be reachable from the cluster’s pods, not only the browser.

Verify

Runs that arrive through MCP are tagged in Session Manager, for example “MCP - Claude”.

Next steps

Connect a client to Omni

Setup per client.

Let each person sign in

Act as whoever asks.

Add an MCP skill to an agent

Step by step.