Announcing CIMD support for MCP Client registration
Learn more
MCP Gateway
Jul 29, 2026

MCP Gateway vs MCP Proxy: What's the Actual Difference?

The short answer: a proxy gets a call to the right place. A gateway decides whether that call should happen at all, on whose authority, and writes down that it did. Both sit between an agent and the tools it calls — which is exactly why the terms get used interchangeably, and why that interchangeability causes real problems once agents are doing more than sitting in a demo.

What each one actually is

An MCP proxy is a relay for one connection. It presents itself as a normal MCP server to whatever's calling it, and as a normal MCP client to whatever it's actually talking to on the backend. Its job is mechanical: bridge a transport mismatch (an agent speaking stdio, a backend that only speaks streamable HTTP), attach the right credential to the outbound call, and expose only the tools that connection needs. A proxy doesn't know who's calling it in any meaningful sense beyond "this request came with this credential." It forwards. It doesn't decide.

An MCP gateway is a policy layer sitting in front of many connections at once. It knows who the agent is acting on behalf of, what that person or team is allowed to do, and it writes that decision down every time it's made. Where a proxy answers "how do I reach this tool," a gateway answers "should this specific call, from this specific agent, acting for this specific person, be allowed to happen right now" — and it answers that question the same way regardless of which of the dozens of tools behind it someone's trying to reach.

The clean way to hold this: every gateway is built out of one or more proxies. Not every proxy needs to become a gateway. The proxy is the mechanism. The gateway is the decision made using it.

The comparison, in full

MCP Proxy
MCP Gateway
Plain MCP Server
What it actually does
Relays one connection — transport bridging, credential injection, tool scoping
Enforces policy across every connection — identity, authorization, audit, revocation
Exposes tools directly — no intermediary at all
Does it know who's calling
Only as much as the credential it's holding tells it
Yes — resolves the actual person or team the agent is acting for
No concept of this at all
Scope
One connection
Every connection in an org or product
One connection, no policy layer
Where policy is decided
Not really — it forwards what it's configured to forward
Here — this is the whole point of it existing
Nowhere; whatever the backend enforces on its own
Audit trail
Whatever the one connection happens to log
Centralized, tied to a specific person's action
None, unless the backend tool logs it itself
Where it breaks down
Fine for one connection; unmanageable hand-built past a handful
Doesn't have this failure mode — that's the point
Breaks down the moment more than one agent needs governed access
Who typically builds/uses one
A developer wiring up a single tool integration
A platform/security team, or a developer building a multi-tenant product
Whoever ships the tool itself

A worked example, not just an assertion

Say an agent needs to read and, occasionally, update records in a CRM.

With just a proxy: the proxy bridges the transport, holds a vaulted credential for whichever user is running the agent, and exposes "read record" and "update record" because that's what the connection was configured to expose. It does this correctly, every time, for this one connection. What it can't tell you: whether this specific update, right now, from this specific agent, acting for this specific person, should be allowed — that's not a question the proxy is built to ask. If the credential it's holding is valid, the call goes through.

With a gateway in front of that same proxy: the request first passes through a policy check — is this person's role allowed to update records at all, or only read them? Is this the kind of update (say, deleting a record vs. editing a field) this role is scoped to make? The gateway answers that, logs the decision against the actual person, and only then lets the call reach the proxy that actually talks to the CRM. Take the gateway away and the proxy still works exactly as before — it just can't tell you whether it should have.

The security angle people underestimate

A common assumption: "I'm only running one MCP server, so I don't need a gateway yet." That assumption doesn't hold up against the actual threat model. A single server can still serve a poisoned tool description, leak credentials through the arguments an agent sends, or return a response engineered to manipulate the agent's next action. The number of servers doesn't change what can go wrong — it only changes how many places it can go wrong in. A proxy inspecting one connection can catch some of this for that connection. A gateway sitting in front of everything is what makes catching it a policy, not a hope.

Understanding the full scope of MCP security risks in the enterprise is a prerequisite for knowing when a proxy alone is insufficient and when a gateway becomes mandatory.

When you genuinely only need a proxy

Not every situation needs a gateway, and it's worth saying plainly when a proxy is actually enough:

  • One tool, one connection, credentials handled properly per user
  • No requirement yet to answer "should this specific action have been allowed," beyond "was the credential valid"
  • Nobody but you (or a small, trusted team) is the one deciding what gets built

The moment any of those stop being true — more than a handful of connections, more than one team or customer needing different access, or a real requirement to answer "who did what, and was it allowed" after the fact — that's the point a proxy alone stops being the right answer, whether or not anyone's called what comes next a "gateway" yet.

For a deeper look at what a gateway actually is and what it enforces, What Is an MCP Gateway? covers the full picture. And if you're thinking through the MCP authentication and authorization build vs. buy decision, that framing applies directly to whether you roll your own proxy logic or adopt a gateway layer.

The access control requirements for multi-tenant AI agents are a practical forcing function: once you have more than one customer's data in scope, the questions a gateway answers stop being optional. Similarly, audit trails for agent auth in B2B SaaS become a hard requirement the moment you need to answer "who did what" — something no proxy alone can provide. When agents operate across enterprise environments, IT governance requirements mean that AI tools connecting to internal systems carry real accountability obligations that gateway-level policy is designed to meet.

FAQ

Is an MCP proxy a type of MCP gateway?

No — it's the other way around. A gateway is typically built using one or more proxies underneath it, plus a policy and identity layer on top. A proxy by itself has no concept of policy.

Do I need a gateway if I'm only using one MCP server?

The number of servers doesn't determine whether you need one — the threat model is the same whether you're running one server or fifty. What determines it is whether you need to answer "should this specific action have been allowed" as more than a hope.

Can a proxy and a gateway coexist?

Yes, and in practice this is the normal shape: a gateway sits in front, making the policy decision, and hands the approved call off to the proxy that actually talks to the backend tool.

What's an MCP router, and is that a third thing?

Some architecture writeups introduce "router" as a middle tier — it knows which tool a request is for, but not who's calling. In practice this is a partial gateway: useful for getting a first version working quickly, but it stops short of the identity and audit questions a full gateway answers.

No items found.
Agent
Auth Quickstart
On this page
Share this article
Agent
Auth Quickstart

Acquire enterprise customers with
zero upfront cost.

Every feature unlocked. No hidden fees.