Skip to main content

Use Agentgateway as MCP Proxy

CAIPE Multi-Agent MCP Flow Solution Architecture

Inside Agentgateway Flow

Detailed Sequence Flow

Helm routing modes: Gateway API vs CRD-free static

The umbrella Helm chart can provision AgentGateway MCP routing in two ways, selected by global.agentgateway.routingMode (only relevant when global.agentgateway.enabled=true):

ModeWhat the chart rendersCluster requirementsWhen to use
static (default)A single ConfigMap (<release>-agentgateway-static-config) holding the standalone proxy config — one /mcp/<id> route + MCP backend per enabled target. No custom resources.None beyond the standalone agentgateway proxy Deployment (agentgateway.enabled=true)Default. Works on any cluster, including ones you do not own or where you cannot install cluster-scoped CRDs/controllers. helm diff/helm upgrade stay clean because no CRD-backed objects are rendered.
gateway-apiGateway, HTTPRoute, AgentgatewayBackend, and optional AgentgatewayPolicy custom resourcesGateway API + AgentGateway CRDs (gateways/httproutes.gateway.networking.k8s.io, agentgatewaybackends/agentgatewaypolicies.agentgateway.dev) and an AgentGateway/Gateway API controllerOpt-in. You control the cluster and have (or can install) the CRDs and controller and want the controller-managed Gateway data plane.

MCP endpoint discovery without CRDs. In static mode the standalone proxy is the source of truth for routes. The proxy exposes its live config at the admin /config endpoint, and the CAIPE UI discover/sync flow (/api/mcp-servers/agentgateway/*) reads MCP targets from there. So MCP endpoints are still discoverable and registrable in the UI without any Gateway API / AgentGateway CRDs in the cluster. For local Docker Compose, the same shape is kept in sync from the mcp_servers collection by deploy/agentgateway/config_bridge.py.