Skip to content

Asking from an AI client ​

Omaya's reporting assistant is also published as an MCP server — the Model Context Protocol that Claude Desktop, IDE assistants and many other AI clients speak. Connect one and you can ask your own client about your buildings, in the same words you would use on Reports → AI Reporting, and it answers from the same tools.

The difference is whose model does the thinking. In the app, Omaya calls the AI provider configured for your organisation and counts the tokens against your cap. From your own client, your client's model does the work; Omaya only answers the tool calls. Nothing is sent to your organisation's provider and nothing counts against its cap.

What it can reach ​

Everything the in-app assistant can, and nothing more — read only:

  • the space catalog, live occupancy and the hourly occupancy history;
  • footfall, including people inside;
  • dwell, device presence, environment and loyalty;
  • room usage and space utilisation;
  • where a tagged person or asset is and where they have been;
  • the data of your organisation's apps, for the apps the key's owner may read.

AI in Omaya describes each tool and the rules it keeps. No tool changes anything, and there is no tool that takes an organisation as a parameter: the key decides which organisation every answer comes from.

Who sees what ​

The client acts as the administrator who owns the API key. App data follows that person's role exactly as it would in the app: an app has to be switched on for your organisation, and the role has to hold that app's view-report-ai-app-… permission — the table is here. A key whose owner has none of them gets the report tools and an answer of "no app data available" for anything else.

So make the key under the account whose access you mean to give. A colleague who should see meeting rooms but not visitors needs their own key on a role that says so, not yours.

Connecting ​

You need three things:

Addresshttps://<your Omaya address>/mcp/reporting
X-Tenant-IDYour organisation's identifier — the one you type at the login form
X-Api-KeyA key from My Profile → API keys

The server uses the streamable HTTP transport. Any client that lets you give a server's address and add request headers can connect with those three values directly.

Claude Desktop ​

Claude Desktop starts its MCP servers from a configuration file, so it reaches a remote server through a small bridge, mcp-remote, which Claude Desktop runs for you. It needs Node.js installed on the same computer.

Open Settings → Developer → Edit Config and add an omaya entry under mcpServers (keep any entries already there):

json
{
  "mcpServers": {
    "omaya": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://omaya.example.com/mcp/reporting",
        "--header", "X-Tenant-ID:${OMAYA_TENANT}",
        "--header", "X-Api-Key:${OMAYA_KEY}"
      ],
      "env": {
        "OMAYA_TENANT": "yourorg",
        "OMAYA_KEY": "your API key"
      }
    }
  }
}

Replace the address, the organisation identifier and the key, save, and restart Claude Desktop. The Omaya tools then appear in the tools menu of a new conversation. Writing the headers as Name:${VARIABLE} with no space, and the values under env, is deliberate: some versions split arguments on spaces.

Looking after the key ​

The configuration file holds a credential

Anyone who can read that file can ask everything the key's owner can. Use a key made for this one client, so it can be revoked without breaking anything else, and revoke it under My Profile → API keys when the computer changes hands.

When it does not work ​

The client reports 401. The key is wrong, expired, or belongs to a different organisation than the one in X-Tenant-ID.

It reports 403. The key is limited to certain IP addresses and this computer's is not one of them.

It answers about occupancy but says no app data is available. The key's owner holds none of the app permissions, or the apps are not switched on for your organisation. An administrator grants the permissions per app under System → Roles.

The tools never appear. The bridge could not start: check that Node.js is installed, that the JSON is valid (a missing comma silently drops the whole file), and restart the client after every change.

Last updated:

Omaya platform documentation