agentgateway:把 Agent 到 LLM、MCP、A2A 的三类通信收进一个网关
Linux 基金会开源 Agent 网关:Rust 控制面加 Envoy 数据面,把 Agent 到 LLM、MCP、A2A 的认证、限流与可观测收进一处。
项目资料
GitHub Ecosystem- 许可证
- Apache-2.0
- 主语言
- Rust
- 星标
- 5,745
- 核查时间
- 2026-10-29
以上快照资料以核查当日为准,可能随版本或运营策略变化。

微服务时代有 API 网关,AI Agent 时代呢?Agent 的出向流量天生分三类:调 LLM 的 API、连 MCP 工具服务器、和别的 Agent 互发 A2A 消息——每类各有自己的认证方式和故障模式,散落在各个应用里各写各的。agentgateway 是 Linux 基金会主导的开源(Apache-2.0)项目,用「Rust 控制面 + Envoy 数据面」把这三种协议收进同一个网关:应用只连网关,鉴权、限流、重试、审计策略在一处配置,A2A 流量还带会话级亲和。项目把定位说得很直白——做 Agent 时代的 Nginx。仓库 2025 年 3 月建库,最近一次推送是 2026 年 10 月 28 日,最新版本 v1.7.0(10 月 27 日发布),5,745 Star,官网 agentgateway.dev 提供托管控制面。

核心功能
- 三类协议一个门:LLM 流量按 provider 粒度做上游认证和 key 轮换,MCP 流量把后端工具服务器聚合成一个 MCP 端点,A2A 流量按 Agent 名字路由并保持会话粘性——应用侧只需要会说这三种协议,不用各自实现重试与凭据管理。
- 策略即配置:认证(JWT/OAuth/API key)、RBAC、每消费者限流、请求改写在控制面统一声明,下发到数据面执行;对 MCP 还能按工具名和方法名细粒度授权。
- 可观测先于故障:每次工具调用、模型调用、Agent 间消息都有结构化日志与指标,接 OpenTelemetry;排查「Agent 到底调了哪个工具、花了多少 token」不再靠翻应用日志。
- 落地形态两档:单进程二进制直接跑(本地开发、sidecar),或作为 Kubernetes Gateway API 的实现部署(生产);官方文档给出从 Docker Compose 到多集群的路径。
典型使用场景
- 企业给 Agent 流量立规矩:安全团队要在不改动每个 Agent 应用的前提下统一管住「能调哪些模型、能碰哪些 MCP 工具」,这正是网关层的活。
- 多团队共享 LLM 预算:按消费者限流和计费指标落在网关,避免各团队重复造配额轮子。
- MCP 工具聚合分发:把内网的数据库、检索、内部 API 封装成 MCP 服务器后,用一个受控端点暴露给全组织的 Agent,权限收敛在一处。与自建 MCP 代理相比,网关把多租户的配额与审计也一并接走。
快速上手
# 单二进制启动(以 v1.7.0 为例,另见官方 Docker 镜像)
curl -LO https://github.com/agentgateway/agentgateway/releases/latest
仓库的 examples/ 目录带 MCP 聚合、A2A 路由、JWT 鉴权三类完整配置样例,配合 agentgrid 控制台(UI-homepage 截图即来自它)可以在浏览器里看到拓扑与健康状态。迁移路径也交代得清楚:已有的 Envoy 配置可以渐进引入,不必一步切换;文档专门有一节讲从裸 LLM SDK 调用迁到网关托管的最小改动集。
想理解三类协议在应用层长什么样,可以对照本站的 agentplay(把各 Coding Agent 的本地会话画成地图,A2A 会话结构一目了然)与 pipecat(实时语音 Agent 框架,出向 LLM 流量的治理需求与网关正好衔接)。
小结
agentgateway 适合要给 AI Agent 流量上治理的企业平台组:三类协议收口、策略集中、观测齐全,加上 Linux 基金会与 Envoy 社区的背书,是「Agent 基础设施」这个新品类里目前完成度最高的开源实现之一。要诚实说三点:项目 2025 年 3 月才建库、2026 年才进入快速迭代,生产案例仍以早期采用者为主;Rust 数据面对多数团队是黑盒,深度排障要靠社区;对比自建 Envoy/Istio 方案,它省的是「把 Agent 协议翻译成网关配置」的胶水层,不是网关本身。如果你想找的是给 MCP 服务器做托管的反向代理,可以对照本站 MCP 网关栏目;如果要的是 Agent 编排框架,这层它不管。判断自己是否需要它的最简单标准:当「Agent 调了什么、花了多少、能不能再调」这三个问题开始在多个应用间重复出现时,就该有一个网关层来统一回答了。