The hosted MCP gateway

One MCP URL. Three tools, not three hundred.

Register your remote MCP servers once. Your client connects to mcpi.app and sees find_tools, call_tool and call_tool_approval. Describe what you need in words and the gateway returns the few tools that fit — every other definition stays out of the context window until a request calls for it.

Free for 3 endpoints and 100 find_tools a day. No card.

mcpi.app/mcp9 endpoints · 3 tools exposed
$ claude mcp add --transport http mcpi https://mcpi.app/mcp
› find_tools("open a pull request with the fix")
2 tools fit · 184 stayed out of context
githubcreate_pull_requestcall_with: call_tool
githubpush_filescall_with: call_tool_approval
held— input schema changed since you reviewed it (breaking)
› call_tool("create_pull_request", { title: "Fix retry loop", … })
#482 opened

Nine servers behind one URL. The client holds three tool definitions and is shown the two that fit — one of them held, because its schema moved since you last looked.

Set up in a minute

The gateway is this site's own MCP server, so any client that can already reach a remote server works unchanged.

1 · Add your endpoints

A name, a public https:// URL, and how it authenticates: nothing, a bearer token, a custom header, or a real OAuth sign-in against the upstream. Saving dials the endpoint straight away and shows what it found.

2 · Point your client at it

One line for Claude Code, or one url entry in any client's JSON config. Authenticate with an API key from Settings, or let the client run OAuth against mcpi.app.

claude mcp add --transport http mcpi https://mcpi.app/mcp

3 · Ask for tools in words

find_tools ranks every tool in your catalog against the request and returns the few that fit, schemas included. call_tool runs one; the upstream's result comes back verbatim.

A changed tool waits for you

Any proxy can shorten a tool list. This one runs the same contract engine as the inspector and the directory, so it knows when a tool's definition moved — and does not let a model act on a definition nobody has read.

Changed tools are held

A server can rewrite a tool after you approved it: a new argument, a different description, a tool that was not there last week. When a connect finds that, the gateway holds the tool in every profile until you accept the change. find_tools keeps describing it as you last reviewed it, call_tool refuses it and says why, and a new tool stays hidden. The dashboard shows what moved, field by field, classified breaking, compatible or cosmetic, with Accept beside it.

held push_files — input.required: ["files"] → ["files", "branch"]
breaking · accept to release

The diff travels with the answer

Every connect snapshots each endpoint's contract and classifies what moved. When find_tools returns a tool from an endpoint that changed, the result carries the breaking / compatible / cosmetic counts — your client learns before it calls, not from a failed call.

Permissions and profiles

Always allow, needs approval, or blocked — per tool, per endpoint. A profile is its own set of permissions over the same endpoints, bound to an API key for its whole life, so a read-only agent and a desktop client see different tools.

Upstream auth, encrypted

Bearer tokens, custom headers, or OAuth with PKCE and dynamic registration. Every credential is AES-256-GCM encrypted at rest, never returned to the browser and never written to a log. Tokens refresh on their own.

Routing you can see

The dashboard shows the context kept out of your client over the last 7 days, the hit rate, your most-called tools, and every call the permissions turned away — with the profile and API key that asked.

Free to start. €9 when it's daily.

find_tools is the call that runs the ranking model, so it is what the plans price. Everything else on this page is in both.

Free

  • 3 endpoints behind one MCP URL
  • 100 find_tools and 500 tool calls a day
  • Tool permissions, profiles and contract holds

Pro

€9 / month
  • Unlimited find_tools routing, within fair use
  • No daily tool-call cap — 60 calls a minute
  • Up to 20 endpoints
  • Email when a directory server you watch ships a breaking change

Questions someone always asks

Which clients work?

Any client that connects to a remote MCP server over Streamable HTTP. Authenticate with an API key from Settings, sent as a bearer token or X-API-Key header, or let the client run OAuth against mcpi.app — the consent screen asks which profile it gets.

Does my data pass through your servers?

Yes — the gateway proxies the call and hands the upstream's result back verbatim. A call may run for 60 seconds and return up to 2 MiB. Credentials are encrypted at rest and never logged; the dashboard records which tool was called, not what it returned.

Can it reach a server on my machine?

No. Endpoints must be public HTTPS, and anything that resolves to a private address is refused. For local stdio servers, run the free app or CLI on your own machine — the gateway is for the servers you already reach over the network.

What happens when I hit the free limit?

The tool returns an error that says so, in words your client can show you. Nothing fails silently and nothing is deleted. Pro lifts the find_tools cap and the daily call cap; lapsing keeps your endpoints and only stops you adding more.

Put your servers behind one URL

Three endpoints and a hundred routed requests a day cost nothing. The next time one of your servers rewrites a tool, you read the diff before any agent runs it.