Skip to main content
Omni is the agent built into every xpander organization: it can answer directly, task your other agents, build and edit agents, manage schedules, and search your organization’s knowledge. The Omni MCP endpoint puts all of that behind a single URL you connect to Claude, ChatGPT, Cursor, or any MCP-compatible client, so you work with Omni without leaving Xpander Chat you’re already in.
Once connected, you can:
  • Chat with Omni straight from your MCP client, and keep the conversation going across turns
  • Kick off long-running work asynchronously and poll for the result
  • Ask Omni to task your other agents, build or edit agents, and search your organization’s knowledge - all through the conversation
  • Authenticate once with OAuth 2.1 - you sign in with your xpander credentials, and every call runs with your permissions, where systems allow
This is a different endpoint from the API’s MCP endpoint (api.xpander.ai/mcp/, also OAuth 2.1), which is the xpander API, control plane and data plane, exposed over MCP and is not an agent. Omni is the agent: one endpoint for everything you can do through Xpander Chat. The Omni endpoint is scoped to you: your OAuth sign-in resolves your own conversations with Omni and applies your access.

Calls

These calls are deliberately the whole surface: everything else - discovering agents, building them, managing tasks, searching knowledge - happens by asking Omni for it in the conversation. Omni runs under your xpander identity, so which agents and data a request can touch is always bounded, where systems allow, by what your own account may reach inside xpander. If you want a direct surface for one specific agent instead, use the API’s MCP endpoint.

Multi-turn conversations

Every answer includes a conversation_id. Pass it back into ask_omni (or ask_omni_async) to continue the same conversation - Omni keeps the full thread, exactly like a chat.

Long-running work

Omni runs can take from seconds to minutes (skill calls, multi-step reasoning, tasking other agents). For work that might exceed your client’s call timeout, start it with ask_omni_async and poll get_omni_task with the returned conversation_id until it’s done.

Authentication

The Omni endpoint signs in with OAuth 2.1 only. There is no API key to copy into a config file. ChatGPT, Claude Code, Claude Desktop, Cursor and most current MCP clients discover the sign-in from the URL and open it in the browser. You sign in once with your xpander account, the client stores the token, and every call is recorded under your name and runs with your permissions, where systems allow.
Because the sign-in is personal, the connection is too: the endpoint resolves to your Omni, sees your conversations, and acts with your access, where systems allow - nothing to configure.

Connect from a client

Add the endpoint once from the terminal, then sign in from inside a session:
In Claude Code, run /mcp, pick omni and complete the browser sign-in. From then on ask in plain words: “Ask Omni what my agents did today” or “Deploy this agent to xpander as a scheduled task.” On a self-hosted install replace the address with your installation’s MCP origin.

How Omni responds over MCP

Runs that arrive through the MCP endpoint are marked as MCP-sourced, and Omni adapts to the channel: because MCP clients render plain Markdown (no interactive xpander cards), Omni answers in clean, self-contained Markdown and never raises a card that would stall the run. If a task needs something it can’t get non-interactively - a credential that has not been added yet, or a skill that needs authorization - Omni does as much as it can and tells you in its reply what’s missing and how to resolve it in Xpander Chat. In Xpander Chat, these conversations show up in Task Manager tagged with their origin - for example “MCP - ChatGPT” or “MCP - Claude” - so you can always tell which client a run came from. If Omni needs you to authorize a skill mid-run, ask_omni returns the authorization link right away along with the conversation_id. Complete the authorization, then fetch the result with get_omni_task - the run resumes on its own.

Troubleshooting

The endpoint is OAuth-only - an x-api-key header (or any static key) is not accepted. Remove any key-based config, re-add the endpoint, and complete the browser sign-in with your xpander credentials.
  • Make sure the URL is exactly https://omni.xpander.ai/mcp.
  • Complete the sign-in in the browser window the client opens; some clients cache a stale token - remove and re-add the endpoint to restart the flow.
Open the link from Omni’s reply, complete the authorization in Xpander Chat, then call get_omni_task with the same conversation_id to get the finished result.

Next steps

MCP API endpoint

List and invoke your agents over MCP with an API key

What is Omni

Learn what Omni can do across xpander