MCP 工具调用超时重试:客户端重发请求为何导致写操作重复执行
远程 MCP Server 执行下单类写工具时,客户端超时重发同一 JSON-RPC 请求,服务端却把它当成一次新调用,导致重复扣款或重复下单。本文从 JSON-RPC 请求 ID 的会话内语义出发,解释断线重连后 ID 重置、服务端缺少幂等键存储的机制,并对比幂等键、去重窗口与人工确认三种方案,给出可观测指标与部署边界。
共 1 篇文章
远程 MCP Server 执行下单类写工具时,客户端超时重发同一 JSON-RPC 请求,服务端却把它当成一次新调用,导致重复扣款或重复下单。本文从 JSON-RPC 请求 ID 的会话内语义出发,解释断线重连后 ID 重置、服务端缺少幂等键存储的机制,并对比幂等键、去重窗口与人工确认三种方案,给出可观测指标与部署边界。