TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 436 subscribers
Post #1914 1
MCP 无状态化后,网关要改什么

MCP 规范在 7 月 28 日转向无状态。只跑一个 MCP 服务器,改动主要是删掉会话处理、加上 server/discover 方法;但跑网关、前面挂着一堆 MCP 服务器并对客户端呈现为单一服务时,整套工作方式都会变。

Agent Router(AAIF 项目,原名 Envoy AI Gateway)在 9 月合并 PR #2545,为发现和列表类请求加上无状态扇出。它目前还没承接真实流量,这是有意为之。
旧规范下客户端用 initialize 建立会话,之后所有请求都带 Mcp-Session-Id。Agent Router 把会话当骨架:初始化时向路由上每个后端发 initialize,收集各自的会话 ID 和能力,打包成一个加密会话 ID 交回客户端,此后每个请求自带路由、调用方、各后端上游会话 ID 和能力,网关自己不用记东西。2026-07-28 规范把这些全部移除:没有 initialize 握手、没有 Mcp-Session-Id、没有会话,每个请求在 _meta 里自带协议版本、客户端信息和能力,外加 Mcp-Method 和 Mcp-Name 头,让基础设施不解析 body 就能看出请求内容;客户端想提前知道服务器能力就调用 server/discover,elicitation、sampling 这类服务器发起的请求变成多轮往返,服务器返回 input_required,客户端带答案重试。
#2545 为五类需要发往多个后端的请求搭好无状态路径:server/discover、tools/list、resources/list、resources/templates/list、prompts/list。网关把请求发给每个选中的后端,合并响应,返回一个 JSON-RPC 结果。后端选择改为逐请求进行,令牌变化会立刻反映在可见后端上;能力合并复用同一套 helper,新旧路径行为一致;ttlMs 和 cacheScope 取最严格值。某个后端不可达或返回异常会被跳过并记录日志和错误指标,全部失败则返回 500,而不是一个看起来健康的空列表。

代码目前只在测试里被调用,外部没有调用方,这是分阶段计划的一部分。Phase 0 把整条无状态路径作为未被引用的代码逐段搭好,Phase 1 才切换 dispatcher。覆盖 tools/call 等单目标调用的 PR #2692 当时仍处于打开状态,subscriptions/listen 是单独的后续工作。

切换后链路里不再有任何一方持有会话:请求自带所需信息,网关转发,无状态后端由负载均衡器挑任意实例应答,网关和后端都能用普通轮询扩容,不需要粘性路由,提案也明确排除为现代路径引入 Redis 这类共享会话存储。Envoy 可直接按 Mcp-Method 和 Mcp-Name 头路由,不必解析 JSON-RPC body,从而支持按工具限流、按方法策略和边缘路由决策。审批流也更简单:后端返回 input_required,客户端带答案重试,网关按工具名像普通调用一样路由。权限变更在下次请求即生效。

仍需留意:扇出逐个访问后端,多个慢后端会累加延迟;部分失败的结果在客户端看来和完整结果一样,八个工具返回时无法判断是否掉了两个后端,目前只能靠各后端日志和指标发现。发现响应里统计的后端数量是选中数而非应答数。混合部署被推迟到 Phase 2。
More from @devtoolboxhub
  1. Oct 6, 2026开源新手选 issue 前先做一次分诊 Worth My Time 是一个面向开源新手的 issue 分诊工具,用来判断一个「good first issue」到底值不值得花一个晚…
  2. Oct 5, 2026企业应用漏洞修复框架:按 SLA 分级治理 企业应用通过云平台、API、AI 服务和第三方集成不断互联,安全漏洞带来的运营与业务风险随之放大。未修复的漏洞可能导致数据泄露、服务中断…
  3. Oct 5, 2026为易忘大脑设计的规划工具 这是一篇开发者社区文章,作者讲述自己反复买纸质手账、反复弃用的经历,并据此重新设计了一款规划工具。核心观点是:传统手账假设使用者能记住并主动查看,而 AD…
  4. Oct 5, 2026大型 OpenAPI 规范的多文件拆分与 CI 校验 OpenAPI 文档起步时都是干净的单文件,但到四十个操作就变成 2000 行,到上百个操作后每个 PR 都在合并时冲突,没人…
  5. Oct 4, 2026LangGraphics:一行代码实时可视化 LangGraph 运行 LangGraphics 是一款轻量级工具,专为使用 LangGraph 或 DeepAgents 构建的代…
  6. Oct 4, 2026平台 Operator 现已支持 Application 更新的实时对齐 平台 Operator 通过 Kubernetes 自定义资源 Application 生成 Deploy…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →