Engineering Guide

What Is an MCP Gateway? (And Why It Is Not an LLM Gateway)

Two pieces of infrastructure in a modern agent stack have almost the same name and do completely different jobs. An LLM gateway routes requests to models. An MCP gateway routes tool calls to MCP servers. We operate the first kind, so this guide is unusually blunt about where the line sits — and about when you should not put a gateway in front of your MCP servers at all.

An agent stack with an LLM gateway routing to models and an MCP gateway routing to many MCP servers

What an MCP gateway actually is

An MCP gateway — also called an MCP proxy or an MCP aggregator — is an infrastructure layer that sits between MCP hosts and clients on one side and many MCP servers on the other. Clients connect to one endpoint. The gateway does the fan-out.

Per Docker's own documentation for its gateway, the component is a centralized proxy between clients and servers that takes over server lifecycle, routing and authentication across all of them, so clients stop configuring each server individually.

The cross-cutting concerns a gateway typically centralizes:

One correction worth making up front, because a lot of blog posts still get it wrong: MCP is not Anthropic's protocol any more. It was donated to the Agentic AI Foundation, a directed fund under the Linux Foundation, on 9 December 2025. Every MCP gateway you will read about is third-party, community or vendor infrastructure — none of them is a first-party protocol component.

The no-gateway baseline (and why it stops scaling)

Start with what you get for free. Plain MCP configuration means each host — Claude Desktop, your IDE, your production agent — holds a config file listing each server, its transport, and its credentials. For a single developer with a filesystem server and a Postgres server, this is genuinely fine. It is also how most people start, and it is what our roundup of the best MCP servers assumes.

The failure mode is combinatorial, not conceptual. Every client-to-server pair is its own wiring: its own credential copy, its own transport quirk, its own place to forget an update. Gateway vendors like to quote the arithmetic that five MCP servers across three agents means fifteen separate OAuth implementations, credential stores and audit trails. Treat that number as illustrative rather than measured — it comes from vendor marketing, and real stacks share more than the arithmetic implies — but the shape of the curve is right and it is the honest reason gateways exist.

Wiring surface: direct config vs gateway (illustrative model) Direct = agents x servers. Gateway = agents + servers. Not a measurement. 1 agent, 1 server 1 2 3 agents, 5 servers 15 8 5 agents, 10 servers 50 15 Direct per-server config Behind an MCP gateway
Illustrative model of connection count, not benchmarked traffic. The point is the slope, not the values. Chart: DataLLM Lab

MCP gateway vs LLM gateway: different layers, same stack

This is the part almost every explainer blurs, so here is the cleanest framing we have found, from Cequence's write-up on the distinction: an LLM proxy is concerned with sending requests to models and returning responses; an MCP gateway is concerned with what happens after that response — which server, which function, which arguments the agent may invoke.

Put differently:

They compose. Your app calls the LLM gateway to think; the tool calls that come out of that thinking flow through the MCP gateway to act. Neither replaces the other, and a gateway that claims to do both is doing two jobs with two very different threat models.

We will say the uncomfortable part plainly, since it is the whole credibility of this article: DataLLM Lab is an LLM gateway, not an MCP gateway. We route requests to 300+ models through one OpenAI-compatible endpoint and we pass tool definitions and tool results through as part of the chat payload. We do not host, discover, or authenticate MCP servers. If you need MCP fan-out, run one of the projects below next to us.

Two gateways, two layers, one agent stack Agent app your code LLM gateway routing, failover, cost MCP gateway auth, allow-lists, audit Model providers many vendors MCP servers files, DB, SaaS, internal reasoning layer action layer
The two gateways never sit in series on the same call — they sit on different edges of the same loop. Chart: DataLLM Lab

Three-way comparison: no gateway vs MCP gateway vs LLM gateway

Most comparisons online pit MCP gateways against LLM gateways and skip the baseline entirely, which hides the real decision. Here is the version with all three columns.

Dimension Direct per-server config MCP gateway LLM gateway
What it routes to Nothing — client talks to each server MCP servers (tools) Model providers
What it centralizes Nothing Auth, tool allow-lists, audit, discovery Provider failover, cost, response format
Where it sits in the loop Client edge After the model decides to call a tool Before the model is asked anything
Credential surface One copy per client per server One store, injected at call time One key for many providers
When you need it 1–2 servers, one laptop Many agents share many servers, or across trust boundaries You use more than one model or want failover
Single point of failure Per-server only — blast radius is one tool High — gateway down means all tools gone High — unless it fails over to providers
Examples mcp.json / client config files Docker MCP Gateway, IBM ContextForge DataLLM Lab

Read the row you care about, not the whole grid. If your answer to when you need it is still the first column, the rest of this article is background reading.

The model layer, solved separately

Whatever you choose at the tool layer, the reasoning layer stays simple: one OpenAI-compatible endpoint, 300+ models, one key, no per-provider SDK sprawl. Swap models without touching your agent loop.

Two real gateways worth knowing

Docker MCP Gateway

docker/mcp-gateway is an open-source Docker CLI plugin, MIT-licensed and written almost entirely in Go — roughly 1.5k GitHub stars and around 71 releases at the time of writing, both self-reported repo metrics that move constantly. You start it with docker mcp gateway run.

Its verified features: MCP servers run as Docker containers with minimal host privileges, tool allow-lists let you enable or disable specific tools per server via profiles, secrets and credentials are injected through Docker Desktop rather than pasted into config, and OAuth flows are built in. Container isolation is the real differentiator here — it is the most concrete answer available to the MCP security problem of running arbitrary third-party server code on a developer machine.

One naming trap: Docker uses MCP Gateway for two different things. There is the MIT open-source CLI plugin above, and there is an invite-only Docker AI Governance enterprise feature that adds logging and call tracing for visibility over AI tool activity. They share a name; they are not the same product, and the governance tier is not the open-source one.

IBM ContextForge

IBM/mcp-context-forge is Apache-2.0 licensed and considerably broader in scope: an AI gateway, registry and proxy that federates MCP servers, A2A agents and plain REST or gRPC APIs behind one unified endpoint. It exposes virtual servers — curated bundles of tools drawn from multiple backends — plus centralized discovery, guardrails, JWT, OAuth and Basic auth, rate limiting, retries and OpenTelemetry observability. It is led by IBM Distinguished Engineer Mihai Criveti and reports roughly 4.1k stars, 3,000+ commits, 7,000+ tests and v1.x status; again, self-reported metrics, not audited figures.

The practical split: Docker's project is the strongest answer if your problem is running servers safely on developer machines. ContextForge is the strongest answer if your problem is federating heterogeneous backends for a whole organization. Both assume you already understand remote MCP server transports and how MCP authentication works, because a gateway does not remove those concerns — it concentrates them.

Honest trade-offs

A gateway is not free architecture. Three costs, all real:

1. It is a new component you must operate. Run it, patch it, monitor it, keep it highly available. Gateway vendors themselves say production deployments should be clustered and multi-region with health checks and failover — the same operational bar as an API gateway or an identity provider. That is a nontrivial amount of work to take on for a tool router.

2. It is a new trust boundary and a single point of failure. Every tool call and every credential passes through it. If the gateway cluster goes down, all agent capabilities are severed at once — not degraded, severed. Compare that to direct config, where a broken server costs you exactly one tool.

3. It adds a hop. Tyk, a gateway vendor, argues the cost is small: a high-performance gateway written in Go typically adds single-digit milliseconds of overhead per request, which Tyk calls a negligible price for the security and control you get. Take that as a vendor claim, not an independent benchmark. The counter matters more: agents chain many tool calls per task, so per-hop latency compounds across the chain rather than being paid once. Measure it on your own traffic before you assume it disappears.

There is a fourth, softer cost: a gateway that filters tools is also a gateway that can silently hide a tool your agent needed. Allow-lists are a security win and a debugging tax. If you are still deciding whether MCP is the right integration shape at all, our comparison of MCP vs a plain API is the earlier question to settle.

A decision rule you can apply in one minute

The crispest formulation we have seen comes from gateway vendors arguing against their own product in the small case: a central gateway is not worth the hop if your agents live on one developer's laptop.

Expanded into something you can actually run:

The mental model that keeps this straight: ask whether the thing you want to control happens before the model answers or after. Before is the model layer. After is the tool layer. Almost every architecture argument about gateways resolves once you place the concern on that timeline.

FAQ

What is an MCP gateway in simple terms?

It is a proxy that sits between your AI clients and many MCP servers. Instead of every client configuring every server separately, clients connect to one endpoint and the gateway handles routing, server lifecycle, credentials and access control. It is also called an MCP proxy or MCP aggregator.

Is an MCP gateway the same as an LLM gateway?

No. They sit at different layers. An LLM gateway operates at the model layer: provider selection, failover, cost tracking and response normalization. An MCP gateway operates at the tool layer: after the model decides to call a tool, it decides which server, which function and which arguments are allowed. Most serious agent stacks end up running both.

Is DataLLM Lab an MCP gateway?

No. DataLLM Lab is an LLM gateway. It gives you an OpenAI-compatible endpoint with 300+ models on one key, and it forwards tool-call definitions and results as part of the chat payload. It does not host, discover or authenticate MCP servers. If you need MCP fan-out, run a dedicated MCP gateway alongside it.

What are real examples of MCP gateways?

Two verifiable open-source projects: Docker MCP Gateway, an MIT-licensed Docker CLI plugin written mostly in Go that runs MCP servers as containers with tool allow-lists and injected secrets, and IBM ContextForge (mcp-context-forge), an Apache-2.0 gateway and registry that federates MCP, A2A and REST or gRPC endpoints behind virtual servers with JWT and OAuth auth, rate limiting and OpenTelemetry traces.

What are the downsides of an MCP gateway?

It is one more component to run, secure and keep highly available, it becomes a new trust boundary that sees every tool call and credential, and it adds a network hop. Because agents chain many tool calls in a single task, per-hop latency compounds. If the gateway cluster is down, every agent loses every capability at once.

When do I not need an MCP gateway?

When your agents run on one developer laptop with one or two local servers. The rule of thumb from gateway vendors themselves is that a central gateway is not worth the hop at that scale. Gateways earn their keep when multiple agents, multiple teams or multiple trust boundaries share the same set of servers and you need one audit trail.

Written by
Kevin Fan

Founder of DataLLM Lab, the unified LLM gateway. Kevin tests models the boring way — same prompts, real costs, unedited outputs — and writes up what the runs actually show.

One API for every model

One API, every model.

Get a single API key for Claude Opus 4.7, GPT-5.4, and 300+ more — with automatic price comparison and routing to the best model for every request.