开源项目

AgentEnv隔离MCP子服务会话,避免重启牵连已成功写入的调用

Give each child MCP server its own session (#515)

智能体系统Agent 工具调用智能体互操作协议MCP

概述

AgentEnv网关此前共享各子服务的一代会话。一个服务重启并返回旧session的404后,网关会关闭整代会话,连带中止健康子服务的在途调用,其中一些操作实际已经写入,却被报告为Connection closed。此次合入将current、draining与gone会话状态按子服务隔离。被服务明确拒绝的旧会话由新会话接替,旧会话中的调用各自遇到拒绝后只重试一次,并等待其余调用排空;真实传输失败只影响对应子服务,且不重试可能已产生副作用的调用。来源以Slack与商店环境的socket及VM试验验证了重启期间调用隔离和写入次数,属于项目测试,不能视为所有MCP服务的统一可靠性保证。