Skip to main content
The MCP server includes tools for querying Omni data and searching the official Omni docs for product and “How do I…”-type questions.

Tool availability

To use the MCP server tools, the following settings must be enabled:
  • The top-level MCP server setting in AI Hub > MCP. Enabled by default.
  • The Enable AI and Omni Agent settings in AI Hub > Features. The MCP querying and docs search tools use the same AI pipeline as the Omni Agent, so disabling Omni Agent disables every MCP tool except pickModel. The tools will still appear in your MCP client, but calls will return 403 Feature is not enabled errors.
Organization Admins can also individually enable or disable tool capabilities in the MCP settings page. If certain tools are not available in your MCP client, check with an Organization Admin to confirm which capabilities are enabled for your organization.

Querying

The MCP server uses the tools in this section to process the queries it receives.

pickModel

Returns a list of available models and their IDs, which the MCP client uses to select which model to query. You can also provide a model ID in the MCP configuration to skip this step. This tool is available if the Agentic capabilities or Single shot query generation setting is enabled.

pickTopic

Returns available topics in the model selected by pickModel and selects the most relevant topic for the query. If the AI is allowed to query any view in the model (enabled with the X-MCP-Query-All-Views header during setup), this step becomes optional: the AI can query any view in the model directly, not just topics. This tool is available if the Agentic capabilities or Single shot query generation setting is enabled.

getData

The Single shot query generation setting must be enabled to use this tool.
Executes the query against the selected model and topic (or view, if the AI can query outside of topics) and returns the results.

runQuery

The Single shot query generation setting must be enabled to use this tool.
Accepts a JSON query definition and executes it directly against the Run query API, without requiring the AI to construct a query from a model and topic selection. Use this tool when the query JSON is already known — for example, you paste a query definition or the query definition was produced earlier in the conversation. When using this tool, note that:
  • Results default to a limit of 500 rows and cap at 10,000
  • Keys such as userEditedSQL that would cause the query to run raw SQL against the connection will be refused
  • If a model is provided with the X-MCP-Topic-Name header during setup and query.modelId is also provided, they must match or the request will fail

Advanced agentic queries

The Agentic capabilities setting must be enabled to use the tools in this section.
For complex, multi-step questions that require deeper analysis beyond what a single query can provide, the MCP server includes additional tools that expose Omni’s full agentic AI assistant. Using askOmni and checkStatus together prevents timeout issues that could occur if waiting for long-running agentic jobs to complete in a single request.

askOmni

Submits an agentic analysis job to Omni and returns immediately without waiting for completion. Designed for open-ended questions that may require multiple steps, data exploration, or iterative analysis. When a branchId is provided, the agentic job runs its queries against that model branch and any model edits the agent makes are saved to that branch rather than creating a new one. This tool can also:
  • Create and edit dashboards. - When you ask the agent to edit an existing dashboard, the changes land in a draft. The changes won’t be live until you review and manually publish the changes. Brand new dashboards created by the agent are published immediately.
  • Create and find routines. Ask for something recurring (“every Monday at 9am, email me a summary of last week’s signups”) and the agent sets up a scheduled prompt that runs with your permissions and delivers by email or Slack. You can also find or list your existing routines (“what do I have scheduled?”) and the agent returns matches as edit links.
  • Run a saved skill. Type a skill’s /identifier anywhere in the prompt and the agent runs it, resolved as the effective user — impersonated with the X-MCP-User-ID header, or the key’s owner otherwise.
  • Create and edit skills. Ask the agent to save a way of working as a skill, or to change an existing one by its /identifier (“change /weekly-report to group by region”). Since this tool can’t stop to ask a clarifying question, it changes only what you explicitly asked for and says so in its reply instead of guessing when a request is ambiguous.
  • Delete a saved skill. Ask for a skill to be deleted (“delete /weekly-report”) and the agent deletes it immediately when the request clearly names it. If it’s unclear which skill you mean, or whether you want it deleted, the agent asks a follow-up question instead of deleting anything.
Stopping checkStatus polling does not stop the job — use cancelJob to stop it.

checkStatus

Polls the status of a previously submitted job using its jobId.

cancelJob

Stops a job started by askOmni, using its jobId. The job is marked cancelled right away, but the agent stops when it next checks, so a query or an edit it already started can still complete after the call returns. The tool reports the job’s outcome as a status:
  • cancelled — The job was stopped
  • too_late — The job had already moved on to delivering its result and could not be stopped
  • complete or failed — The job had already reached that outcome before the call
This tool does not honor the X-MCP-User-ID impersonation header. The underlying endpoint has no way to cancel a job on behalf of another user, so a connection that carries or requires a user ID is refused instead of cancelling the API key owner’s job.

submitFeedback

Records a thumbs up or thumbs down and an optional comment on an askOmni answer, using its jobId. Organization Admins can view responses on the AI Hub > Quality > User feedback dashboard. This tool honors the X-MCP-User-ID impersonation header.

listBranches

Lists existing branches of a given base model. Use this tool alongside askOmni’s branchId parameter to target an existing branch instead of creating a new one. This tool does not honor the X-MCP-User-ID impersonation header. When using an Organization API key, the results reflect the API key owner’s permissions rather than the impersonated user’s permissions.

listSkills

To use these tools, the Skills and Chat settings in AI Hub > Features must be enabled and the calling user must have AI access.
Finds a saved skill by name, identifier, or description and reads its instructions. This tool does not run a skill. If you’re an Organization Admin, all skills in the organization will be returned; otherwise, only skills you created will be returned. This tool honors the X-MCP-User-ID impersonation header, resolving visibility for the impersonated member.

Content access

The Content access setting must be enabled to use the tools in this section.
Allows the MCP server to search your organization’s saved content, like dashboards and apps, see the queries a dashboard contains, and run them.

searchContent

Searches your Omni organization for existing dashboards and apps that match a provided name, folder, or tile name. This helps prevent generating new queries for data that already exists in a saved dashboard or app. Each result includes a type indicating whether it’s a dashboard or an app. Search results are scoped using the calling user’s API key or the X-MCP-User-ID impersonation header (if provided), ensuring that results reflect what the user can access according to their content and model permissions.

listDocumentQueries

Lists the saved queries in a document, such as a workbook or app. This tool is designed to pair with searchContent — search finds the document, this tool shows the queries it contains. This tool honors the X-MCP-User-ID impersonation header, matching searchContent’s scoping: with an Organization API key, the results reflect the impersonated member’s permissions instead of the key owner’s. Naming an embed user with no live embed session is refused with a 403.

runSavedQuery

Executes a saved query by ID and returns the current results as JSON. This tool is designed for pulling consistent, model-aware data from a known query rather than generating a new query. If an invalid or inaccessible queryId is provided, the tool returns an error without listing tile names to prevent information disclosure beyond impersonation scope. Use listDocumentQueries to retrieve valid queryId values for a document. Query results are scoped using the calling user’s API key or the X-MCP-User-ID impersonation header (if provided), ensuring that data access safeguards such as row-level security (RLS) and access grants are respected.

startDashboardDownload

Starts an asynchronous job to download a dashboard as a PNG or paged PDF file, using the Initiate dashboard download API. The tool accepts a dashboard identifier and an optional format (png by default, or pdf). A PDF is rendered as letter-size, landscape pages, which keeps large dashboards readable in cases where a PNG render would be too large. This tool honors the X-MCP-User-ID impersonation header: the download job is created as the impersonated user. Only one download job can run per user per dashboard at a time. If a download is already in progress, the tool returns an error that names the existing job’s ID and points to checkDashboardDownload and fetchDashboardDownload.

checkDashboardDownload

Polls the status of a dashboard download job started by startDashboardDownload, using its jobId. This tool honors the X-MCP-User-ID impersonation header.

fetchDashboardDownload

Retrieves the finished PNG or paged PDF file for a completed dashboard download job, using its jobId. A PDF is returned as an MCP embedded resource. PNG files larger than 10 MB and PDF files larger than 30 MB are refused. When this happens, the tool explains how to download the file directly from the dashboard in Omni instead. This tool honors the X-MCP-User-ID impersonation header.

Apps

The Content access setting must be enabled to use the tools in this section. putApp, patchApp, and publishDraft also require Agentic capabilities to be enabled.
Allows the MCP Server to render a published inline app, along with reading, writing, and publishing the HTML behind an app’s draft so viewers can see the changes. Changes made with putApp or patchApp land on the document’s shared main draft and are invisible to other viewers until publishDraft runs. The recommended flow is to read the draft with getAppDraft, falling back to getApp only when no draft exists yet, then write, then publish. App settings cannot be changed using these tools. Use the Omni UI to modify app settings. Every tool in this section honors the X-MCP-User-ID impersonation header: reads and writes act as the impersonated member instead of the API key owner. Naming an embed user with no live embed session is refused with a 403.

getApp

Reads a published app document’s complete HTML source and sandbox settings, given a document identifier. Draft edits are not included in the response; use getAppDraft instead. Very large apps may not be retrievable, since the returned HTML has a size cap. This tool honors the X-MCP-User-ID impersonation header: with an Organization API key, the results reflect the impersonated member’s permissions instead of the key owner’s. A document the impersonated member can’t view returns a 403.

getAppDraft

Reads the main draft’s app HTML and settings. This tool honors the X-MCP-User-ID impersonation header the same way as getApp.

putApp

Replaces the app’s HTML on the document’s shared main draft. The draft is created automatically on the first write and reused on subsequent writes. This tool honors the X-MCP-User-ID impersonation header: the write is authorized and recorded as the impersonated member. A member without edit rights on the document returns a 403.

patchApp

Applies htmlEdits to the app on the document’s shared main draft, instead of replacing the whole HTML. Like putApp, the draft is created automatically on the first write and reused on subsequent writes. This tool honors the X-MCP-User-ID impersonation header: the write is authorized and recorded as the impersonated member. A member without edit rights on the document returns a 403.

publishDraft

Publishing a draft publishes all the changes it contains, including any other editors’ unpublished changes to the same document.
Publishes the main draft so its changes become visible to viewers. Before publishing, this tool reads the draft to confirm it contains an app, and refuses if it doesn’t. This tool honors the X-MCP-User-ID impersonation header: the publish is authorized and recorded as the impersonated member.

showApp

Some MCP clients may not render apps correctly. Omni has confirmed that Claude Desktop, ChatGPT, and VS Code with Copilot correctly render apps. Cursor can render apps, but you may need to open a widget to view the app rather than it being open by default.
Renders a saved, interactive app inline with live data. This tool honors the X-MCP-User-ID impersonation header for both the app read and the queries it runs. OAuth authentication is still recommended over a static API key: an OAuth connection attaches the authenticated user’s identity automatically, while a static API key has no such header unless one is configured, so the app renders and queries run as the key owner instead of the person using it. An app rendered through MCP runs under the same sandboxing and governed queries as everywhere else in Omni. See Apps security for more information.

Search Omni docs (searchOmniDocs)

The Omni documentation search setting must be enabled to use this tool.
Searches the Omni documentation and synthesizes answers in response to prompts that ask questions about how to use Omni. Responses include citations to documentation pages used to construct the answer to the prompt. This tool uses the same AI-powered search pipeline as the Omni Agent, ensuring accurate and contextually relevant responses. For example, you could ask “How do I create a calculated field in Omni?” and the searchOmniDocs tool will search the documentation, analyze the relevant pages, and return a comprehensive answer with links to the source documentation.

Tool and setting comparison

The following table shows what MCP tools are available if a specific MCP setting is enabled.
A icon indicates that additional settings must be enabled to use a tool - hover over the icon to view the names of the additional settings.
  • Skills - Build reusable, AI-powered processes that your team can trigger with a single click or mention
  • AI MCP settings - Enable and disable MCP server tool capabilities
  • AI feature settings - Enable and disable individual AI features in your Omni organization
  • AI Hub - Monitor how your organization uses Omni AI