无头会话里远程 MCP 断线会退避

Claude Code 2.1.295 修复无头和 SDK 会话里的远程 MCP:中断超过 15 秒后会一直断开,或在对方一连上就断开时紧循环重连。现在重复断开会退避,最长约 30 秒。说明没有写交互式终端的远程 MCP 以前也是 15 秒就放弃。

无头会话里远程 MCP 断线会退避

CI 或 SDK 里的远程 MCP 断一会儿之后,工具列表就空了,而且不再自己回来。Claude Code 2.1.295 写:无头会话和 SDK 会话里,远程 MCP 在中断超过 15 秒后会保持断开;或者服务器每次一连上就断开时,会紧循环重连。重复断开现在会退避,最长约 30 秒。claude code 远程 mcp 重连 的主语是无头和 SDK,不是你坐在终端前的那一次交互。

作者:CodePass 技术编辑

15 秒和紧循环是两种旧故障

超过 15 秒的中断:修复前保持断开,不会自己恢复。一连上就被对方丢掉:修复前会立刻再连,形成紧循环。2.1.295 把重复断开改成退避,上限大约 30 秒。说明没有写第一次断开等不等,也没有写 30 秒之后是放弃还是继续以 30 秒为间隔。服务器恢复后,下一轮退避到期时应能再连。不要在紧循环那几秒里把进程杀掉当作唯一办法。升级后若仍永不重连,先看是不是无头会话、版本是否低于 2.1.295,以及服务器是不是在 15 秒内就恢复了。15 秒内恢复不在「保持断开」那半句里。

同一版还修了:服务器的错误回复里碰巧带有网络错误的名字时,连接会被丢掉。那是误判错误文本。退避这条是真的断线之后等多久。错误正文里出现 “network” 一类词就掉线,对的是误判那条,不是 15 秒。

分页光标重复最多打 20 次

同一版写:MCP 服务器若重复同一个分页光标,每次连接会把同一页要上最多 20 次。现在这一行为被修复,说明没有写新的上限是几次。连接很慢、工具列表要很久,若日志里同一页反复出现,对分页这条。连接在 15 秒后不再出现,对无头会话的断线这条。

参考资料