Overview
What Omniio puts between an assistant and the MCP servers it uses, and what that changes.
Omniio is a gateway. Your agent connects to one MCP endpoint, and behind that endpoint sits every server you have turned on — with a policy in front of each tool and an audit row behind every call.
Without a gateway, every MCP server is its own connection: its own entry in every client's config file, its own credentials, its own approval flow, and no single place that knows what your agent did. Adding a server means editing a JSON file on every machine you work from. Removing one means remembering where you put it.


What the endpoint gives your agent#
Three tools, and no others. Your agent does not receive a list of four hundred tool definitions to hold in its context — it receives a way to look for the one it needs.
search_toolstakes a plain-language query and returns matching tools across every server you have enabled, ranked.describe_toolreturns one tool's full definition: title, description and input schema.run_tooltakes a qualified name and an arguments object, and calls the tool on the upstream server.
That is the whole protocol surface. The three tools explains
each one, and How the gateway works covers what happens
between run_tool arriving and a result going back.
What you control#
Turning a server on is a switch in the library. Everything after that is optional, and every default is the permissive one — a server you enable works immediately.
- Per-tool policy. Any tool can be set to
allow,askordeny. Nothing is stored forallow, because that is what every tool already is. - Approvals. A tool set to
askholds the call while you decide, in the app or from the email. - Tool change detection. Omniio fingerprints every upstream tool definition. When one changes underneath you — a new schema field, a description that grew an instruction — the change is held for you to read before that tool runs again.
- Activity. Every call, with its arguments and its result, for as long as your plan retains it.
What it is not#
It is also not a proxy for arbitrary traffic. The only thing that crosses it is an MCP tool call, which is why every call can be named, priced and audited.
Where to go next#
If you want it working: Quickstart is twelve steps and takes a few minutes.
If you want to understand it first: How the gateway works.
If you are building against it rather than through an agent: REST API for reads and the one write, TypeScript SDK for a typed client, Webhooks to be told when a call finishes.