- 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
This is a different endpoint from the per-agent MCP server (
mcp.xpander.ai/ag_...), which exposes one specific agent. The Omni MCP server is scoped to you: your OAuth sign-in resolves your personal Omni agent and applies your access.Tools
These three tools 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 acts with your permissions, so which agents and data a request can touch is always bounded by your own access. If you want a raw tool surface for one specific agent instead, use the per-agent MCP server.
Multi-turn conversations
Every answer includes aconversation_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 (tool calls, multi-step reasoning, tasking other agents). For work that might exceed your client’s tool-call timeout, start it withask_omni_async and poll get_omni_task with the returned conversation_id until it’s done.
Authentication
The Omni MCP server authenticates with OAuth 2.1 only - there are no API keys to copy into config files. Clients that support remote MCP OAuth (ChatGPT custom connectors, Claude viamcp-remote, Cursor, and most modern MCP clients) discover the flow automatically from the server URL. You sign in once in the browser with your Xpander credentials, the client stores the token, and every call runs as you.
Because the sign-in is personal, the connection is too: Omni resolves to your Omni agent, sees your conversations, and acts with your access - nothing to configure.
Connect from a client
- Claude Desktop
- ChatGPT
- Cursor / Windsurf
Edit Restart Claude Desktop after saving;
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) and add the Omni server. With OAuth, mcp-remote runs the sign-in flow the first time you start Claude:mcp-remote opens the browser sign-in the first time. Then ask: “Ask Omni what my agents did today.”How Omni responds over MCP
Runs that arrive through the MCP server 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 missing secret, or a connector 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 the Xpander app. In the Xpander app, these conversations show up in your task list 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 connector 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
OAuth sign-in loops or fails
OAuth sign-in loops or fails
- Make sure the connector 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 connector to restart the flow.
Next steps
Per-agent MCP
Expose a single Custom Agent as its own MCP server
What is Omni
Learn what Omni can do across the platform

