协议修订: 2025-06-18
模型上下文协议包含一个可选的 ping 机制,允许任何一方验证其对方是否仍在响应且连接是否存活。

概述

ping 功能通过一个简单的请求/响应模式实现。客户端或服务器都可以通过发送一个 ping 请求来发起 ping 操作。

消息格式

ping 请求是一个不带参数的标准 JSON-RPC 请求。
{
  "jsonrpc": "2.0",
  "id": "123",
  "method": "ping"
}

行为要求

  1. 接收方必须立即响应一个空响应。
{
  "jsonrpc": "2.0",
  "id": "123",
  "result": {}
}
  1. 如果在合理的超时时间内没有收到响应,发送方可以
    • 认为连接已过时
    • 终止连接
    • 尝试重连程序

使用模式

实现注意事项

  • 实现应当定期发送 ping 来检测连接健康状况。
  • ping 的频率应当是可配置的。
  • 超时时间应当适合网络环境。
  • 应当避免过度的 ping 操作以减少网络开销。

错误处理

  • 超时应当被视为连接失败。
  • 多次 ping 失败可以触发连接重置。
  • 实现应当记录 ping 失败以供诊断。