协议版本: 2024-11-05
Model Context Protocol 包含一个可选的 ping 机制,允许任何一方验证其对应方是否仍响应且连接保持活动状态。

概览

The ping functionality is implemented through a simple request/response pattern. Either the client or server can initiate a ping by sending a ping request.

消息格式

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

行为要求

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

使用模式

实施注意事项

  • 实现应该定期发送心跳检测以诊断连接健康状况
  • 发送 ping 的应当可配置频率
  • 超时设置 应当 适应网络环境
  • 过度ping通信予以避免,以减少网络开销

错误处理

  • 超时应当被视为连接失败
  • 多次失败ping请求可能触发连接重置
  • 实现方 应当 记录 ping 失败以便诊断