跳到主要内容
协议修订: 2025-11-25
Model Context Protocol 包含一个可选的 ping 机制,允许任何一方验证其对方是否仍有响应以及连接是否处于活动状态。

概述

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

消息格式

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

行为要求

  1. 接收者必须 (MUST) 及时回复一个空响应
{
  "jsonrpc": "2.0",
  "id": "123",
  "result": {}
}
  1. 如果在合理的超时时间内未收到响应,发送者可以 (MAY)
    • 认为连接已失效
    • 终止连接
    • 尝试重连程序

使用模式

实现注意事项

  • 实现应该 (SHOULD) 定期发起 ping 以检测连接健康状况
  • ping 的频率应该 (SHOULD) 是可配置的
  • 超时时间应该 (SHOULD) 适用于网络环境
  • 应该 (SHOULD) 避免过度 ping 以减少网络开销

错误处理

  • 超时应该 (SHOULD) 被视为连接故障
  • 多次 ping 失败可以 (MAY) 触发连接重置
  • 实现应该 (SHOULD) 记录 ping 失败以进行诊断