mrkeyoor.com_
Tue 01 Sept 17:45 UTC
LLM Toolsevaluationupdated 27 Aug 2026

ai-gateway review

Envoy AI Gateway puts one managed entry point in front of hosted model APIs, self-hosted inference, and MCP servers. It translates provider formats, applies authentication and traffic policy, tracks AI-specific usage, and routes requests through Envoy on Kubernetes.

+22stars / 7d
Verdict

Our Envoy AI Gateway build succeeded, but only 6 of 12 Go packages passed before the 668-second test run failed. It is a serious candidate when Kubernetes and Envoy already run the platform and model traffic needs shared policy. Pin v1.1.0 and reproduce the full suite in the target cluster before production adoption.

We ran it

Lab card: what happened when we ran ai-gatewayScreenshot of ai-gateway (aigateway.envoyproxy.io)
Install✓ · 96s541 packages
Build✓ · 273s
Tests✗ · 668s6 passed · 6 failed of 12 (go test)
Repo1558 files~221,489 lines of source · 35.2 MB · 7 CI workflows · Dockerfile · tests dir

Answers from our run

Does ai-gateway build from source?

Dependencies installed in 96 seconds (541 packages), and the build succeeded in 273 seconds. We cloned commit c217da8 into a clean Debian container with 3 CPUs and no project-specific setup.

Do ai-gateway's tests pass?

Not all of them: 6 of 12 passed and 6 failed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use ai-gateway?

Small teams seeking a single-process OpenAI proxy: the documented path requires Kubernetes, Helm, Envoy Gateway, two AI Gateway charts, and several custom resources.

What are the alternatives to ai-gateway?

LiteLLM, Portkey AI Gateway, Higress. Our Envoy AI Gateway build succeeded, but only 6 of 12 Go packages passed before the 668-second test run failed.

Setup2/5Build passed, but deployment requires a full Kubernetes gateway stack
Docs5/5Detailed install, provider, traffic, MCP, and operations guides
Community5/5v1.1.0 plus an August 26 push and active issue discussion
Maturity3/5Stable API and broad controls, tempered by our failed test run

Who it’s for

Platform teams already running Kubernetes and Envoy Gateway for shared application traffic.
Organizations routing requests across several model providers or a mix of hosted and self-hosted models.
Operators who need token-aware limits, failover, provider translation, and OpenTelemetry data at the gateway.
Teams that want one governed MCP endpoint with tool filtering, OAuth, and access rules.

Who it’s NOT for

Small teams seeking a single-process OpenAI proxy: the documented path requires Kubernetes, Helm, Envoy Gateway, two AI Gateway charts, and several custom resources.
AKS users who require Azure managed identity for Azure OpenAI today: that support remains an open enhancement request, so the documented route uses credentials instead.
Teams aggregating Java servlet MCP servers without compatibility testing: an open bug says JSON responses with a charset parameter can be silently treated as empty during tool collection.
Buyers who require the checked-out test suite to pass unchanged: our commit built, but its test run ended with 6 failed packages out of 12 and the supplied log tail did not identify the causes.

Setup reality

At commit c217da8, our unprivileged Debian container had 3 CPUs, 8 GB of RAM, and no secrets. The 35.2 MB checkout contained 1,558 files and about 221,489 lines of source. Installation succeeded in 96 seconds with 541 packages, and the build succeeded in 273 seconds. Tests ran for 668 seconds, then failed with exit 1: 6 packages passed and 6 failed out of 12.

A real deployment needs a Kubernetes cluster, working kubeconfig, kubectl, Helm, and a clean compatible Envoy Gateway installation. You then install the CRD chart and controller chart, create Gateway and AI service resources, and store each provider's credentials in Kubernetes secrets. Rate limiting and inference-pool support require additional Envoy Gateway values.

The quick start uses a mock backend, so a successful sample response does not prove provider authentication, translation, quotas, or failover. Production adds an Envoy data plane, an external processor, controller reconciliation, and optional rate-limit infrastructure. MCP adds session fan-out, OAuth or forwarded credentials, tool policy, and backend compatibility checks.

An AI policy layer for Envoy shops

Envoy AI Gateway is easiest to understand as an extension of an existing network stack. Envoy Proxy still moves requests, Envoy Gateway still turns Kubernetes Gateway API resources into proxy configuration, and this project adds the model-specific pieces. Its controller manages AI resources. An external processor reads and changes model requests and responses. Optional rate-limit services charge against token usage rather than treating every call as equal.

The main README describes two gateway tiers. A central tier handles authentication, broad routing, and global limits. A second tier sits at the entrance to a self-hosted inference cluster and can make finer routing decisions. Teams can use only the pieces they need, but the design clearly targets a platform shared by many applications, models, or tenants.

Provider coverage is wide. The documented list includes OpenAI, Azure OpenAI, Gemini, Vertex AI, Bedrock, Anthropic, Mistral, Cohere, Groq, Together AI, DeepInfra, DeepSeek, Hunyuan, SambaNova, Grok, and Tetrate's service. Common client formats can stay stable while the gateway maps requests, credentials, model names, and responses to different backends. That is useful when an application should fail over without carrying provider code in every service.

What happened when we ran it

We cloned commit c217da8 into an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Go 1.24, and no secrets. The checkout was 35.2 MB, containing 1,558 files and about 221,489 lines of source. It had seven CI workflow files, a Dockerfile, and a tests directory.

Installation succeeded in 96 seconds and installed 541 packages. The build then succeeded in 273 seconds. That gives the project credit for a working dependency and compile path in a clean container.

The test step told a different story. It ran for 668 seconds and exited with code 1. The Go test summary counted 12 packages: 6 passed and 6 failed. The supplied tail shows several internal helper packages with no test files, followed by successful results for internal end-to-end helpers and test servers, then a final FAIL. It does not show the failed package names or assertion messages. We cannot say whether the failures came from missing services, the sandbox, or code defects. The honest result is simply that the checked-out suite did not pass.

Policy that understands model traffic

A normal reverse proxy can route by host and path, but model traffic carries costs and failure modes inside the body and streaming response. Envoy AI Gateway can route by requested model, rewrite provider formats, attach upstream credentials, and apply fallback. Version 1.1.0 added a stream idle timeout that can move a request to another backend if no first token has arrived. Once a stream has begun, the documented behavior is a 504 rather than pretending another backend can continue it.

Token-aware controls are a larger reason to choose this project. The gateway records input, output, and total token metadata. Operators can connect that cost to rate-limit rules and tenant identity. OpenTelemetry metrics, traces, and access logs expose model names and token usage without asking every application team to implement the same instrumentation. The latest release also added token-counting routes across several provider shapes and optional GenAI tracing conventions.

Those controls need careful verification. Open issue 2551 reports that a distinct per-tenant quota rule can charge real token cost to a shared bucket while each tenant's own bucket only receives the request count. The report concerns v1.0.0 and remains open. Anyone using gateway counters for billing or hard tenant budgets should inspect the current behavior with separate test identities and Redis counters before relying on it.

MCP is more than a pass-through route

The MCP gateway can combine several remote MCP servers behind one streamable HTTP endpoint. Tool names receive backend prefixes, and the gateway merges tool lists and streaming notifications. Policies can filter tools by exact name or pattern, require OAuth scopes or JWT claims, evaluate CEL expressions, and inject or forward credentials to selected backends. Version 1.1.0 added hostname scoping and backend selection when a session initializes.

This gives a platform team one place to decide which agent can call which tool. It also creates protocol-sensitive failure cases. Open issue 2568 says a Java servlet backend that returns application/json;charset=UTF-8 can initialize successfully yet disappear from the merged tool list because one path compares the entire content-type string. The report says no client or external-processor error is logged. Test each SDK family directly and through aggregation.

Kubernetes is the price of admission

The documentation is candid about prerequisites. You need a Kubernetes cluster, kubectl, Helm, a compatible Envoy Gateway deployment, the AI Gateway CRDs, and the controller. The guide recommends a fresh Envoy Gateway install to avoid configuration conflicts. Its basic example uses a mock model, then real provider guides add secrets and backend resources. Extra traffic features bring extra Helm values and services.

This is reasonable for an established cluster team and excessive for one application calling two providers. LiteLLM or Portkey's gateway will usually get that smaller team to a common API faster. Envoy AI Gateway pays off when Gateway API resources, Envoy behavior, centralized identity, and cluster operations already belong to the platform.

Project activity supports continued evaluation. GitHub recorded a push on August 26, 2026, five days after the v1.1.0 release. The API's combined issues-and-pull-requests count was 266. New fixes and maintainer work were active on August 27. The project has reached a stable 1.x API, but its operational surface and our failed tests still call for a pinned, staged rollout rather than a fleet-wide switch.

Alternatives

ProjectWhat it isPick it when
LiteLLM gh↗A Python proxy and SDK that presents many model providers through a common API.pick this instead when broad provider access and a simpler standalone deployment matter more than Envoy and Gateway API integration.
Portkey AI GatewayAn AI-focused gateway with provider routing, fallbacks, caching, and request controls.pick this instead when you want an AI gateway product without adopting Envoy Gateway as the network foundation.
Higress gh↗A Kubernetes gateway with general API management and AI proxy plugins.pick this instead when you want one gateway for ordinary APIs and AI traffic under Higress's plugin model.

What people are saying

  1. [github-trending] envoyproxy/ai-gateway

Sources

  1. Envoy AI Gateway README
  2. Envoy AI Gateway getting started documentation
  3. Envoy AI Gateway v1.1.0 release
  4. Issue 2568: MCP JSON charset response handling
  5. Issue 2551: distinct tenant quota accounting
  6. Issue 1180: Azure managed identity request

More llm tools reviews

rig · open-knowledge · graphiti · cve-mcp-server · minimind · SillyTavern · the whole board →