The Flow AI Gateway
Flow Server ships an MCP server, so an AI assistant can browse your model and read your data through tools rather than guesswork.
The Flow AI Gateway is a Model Context Protocol server built into Flow Server. It lets an AI assistant work with your Infohub instance the way a person does — browsing the model, finding a measure, pulling values for a period — by calling defined tools rather than being handed a database or a pile of text.
The distinction matters. An assistant with a tool for "get the measures under this metric" asks a precise question and gets a precise answer. An assistant given a data dump guesses, and guesses plausibly, which is worse.
It is already running#
The Gateway is part of Flow Server, not a separate install. If Flow Server is deployed, the Gateway is up. There is no service to start and nothing to configure on the Infohub side.
It is a licensed component. A demo Infohub system enables it for 14 days; beyond that it needs a licence — see Licensing Infohub.
An unlicensed Gateway still connects. Flow Server registers the MCP server either way. Without the licence it exposes exactly one tool, whose only job is to report that the feature is not licensed.
So a client will connect happily, list tools, and then return NotLicensed for everything you ask. A successful connection is not evidence that the Gateway is licensed — check the response to the first real question.
What the assistant can do#
Licensed, the Gateway exposes six tool groups over roughly twenty tools, plus two sets of prompts.
| Group | Covers |
|---|---|
| Model management | Browse the hierarchy — folders, child folders, metrics, measures, and the events under a folder |
| Data management | Read values: pre-calculated measure data for a calendar period or an event, raw tag readings, and aggregations computed on the fly from raw timestamps |
| Config management | Calendars, their shift patterns, and the actual start and end times of a shift interval |
| Search | Find objects by name, description and other fields across the system |
| Planning and Context retrieval | Orchestration — let the assistant work out which tools to use for a question before it starts calling them |
Two things worth noticing in that list.
It reads the model, not just the data. An assistant can find out what exists before asking for values, which is what stops it inventing measure names.
It prefers pre-calculated values. There are tools for data Infohub has already aggregated and tools that aggregate raw timestamps on demand. The first is far cheaper, and the tool descriptions steer the assistant towards it — the same advice you would give a person: use the daily measure rather than re-deriving it from a million raw readings.
Connecting Claude Desktop#
The Gateway is served at /mcp on Flow Server, with an SSE endpoint beneath it. Claude Desktop reaches it through the mcp-remote package, so Node.js must be installed alongside Claude Desktop.
Edit the Claude Desktop configuration file:
| Platform | File |
|---|---|
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
{
"mcpServers": {
"Flow_MCP": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://<flow-server-host>:<port>/mcp/sse",
"--transport", "sse-only",
"--allow-http"
],
"timeout": 30000,
"initTimeout": 10000
}
}
}
| Setting | Why |
|---|---|
npx with -y |
Fetches and runs mcp-remote without a separate install step |
--transport sse-only |
Server-Sent Events, which is the transport the Gateway serves |
--allow-http |
Permits plain HTTP. Drop this once you are on HTTPS, which you should be — see HTTPS and Certificates |
Restart Claude Desktop after editing the file. The host and port are the same ones you use to reach the Infohub web client.
Before you point an assistant at production#
The Gateway gives whatever connects to it the ability to read your model and your data. Treat that as the access decision it is.
- Keep it inside your network. Flow Server is designed as an internal-network service, and the Gateway inherits that.
- Use HTTPS, and drop
--allow-httponce you have. - Start against a test instance. It is the cheapest way to see what an assistant actually asks for.
- Remember what it can reach. The tools browse the whole model and read values; scope who can connect accordingly.
Diagnosing#
| Symptom | Likely cause |
|---|---|
Every tool returns NotLicensed |
The Gateway is not licensed on this instance, or the demo's 14 days have passed |
| The client will not start the server | Node.js is not installed, or npx is not on the path |
| Connects, then times out | initTimeout too low for a cold npx fetch; the first run downloads mcp-remote |
| Refused over HTTPS | Certificate not trusted by the client machine; fix the certificate rather than reverting to --allow-http |
| Connection refused | Flow Server is not running, or the port is not the one the web client uses |
| The assistant invents measure names | It is not using the model tools — ask it to search or browse first |