> ## Documentation Index
> Fetch the complete documentation index at: https://mcp.developerdoc.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 概览

<div id="enable-section-numbers" />

本页定义传输为承载 MCP 消息必须提供的能力、标准传输绑定，以及定义新传输时的要求。

协议语义在每种传输上都是相同的。传输是一种 **绑定**：它定义消息如何成帧和投递、请求元数据如何携带，以及如何发出取消和终止信号。它不定义消息的含义：[消息模式](/specification/draft/basic/patterns) 是核心协议的一部分，并且在每种绑定上都相同。各绑定页面规定了标准传输：

1. [stdio](/specification/draft/basic/transports/stdio)：通过客户端启动的子进程的标准流传输以换行分隔的消息。
2. [Streamable HTTP](/specification/draft/basic/transports/streamable-http)：每条消息都是发往单个 MCP 端点的 HTTP POST；回复以 JSON 对象或请求作用域的 SSE 流形式到达。

客户端和服务器也可以实现[自定义传输](#custom-transports)。

## Messages

MCP 使用 JSON-RPC 对消息进行编码。JSON-RPC 消息 **MUST** 使用 UTF-8 编码。

绑定 **MUST** 将客户端发送的 *请求* 和 *通知* 投递给服务器，并将服务器发送的 *响应* 和 *通知* 投递给客户端。不存在其他消息方向：根据[消息模式](/specification/draft/basic/patterns)，服务器不会发起 JSON-RPC 请求，客户端也不会发送 JSON-RPC 响应。

## Request Metadata

所有协议元数据都在消息体中传输：每个请求都在 [`_meta.io.modelcontextprotocol/*`](/specification/draft/basic/index#meta) 字段中携带协议版本、客户端身份和客户端能力。

绑定 **MAY** 另外将选定的消息体字段镜像到信封元数据中。Streamable HTTP 传输会将这些字段镜像到 [HTTP 标头](/specification/draft/basic/transports/streamable-http#request-metadata)，以便中介组件无需解析消息体即可路由和检查请求。消息体仍然是真实来源；镜像元数据的绑定会定义如何拒绝不匹配的情况。

## Cancellation

每种绑定都会定义客户端如何放弃正在进行的请求：在 stdio 上，客户端发送 `notifications/cancelled` 通知；在 Streamable HTTP 上，客户端关闭该请求的响应流。协议层规则在所有传输上都相同；请参见[取消](/specification/draft/basic/patterns/cancellation)。

## Custom Transports

客户端和服务器 **MAY** 实现额外的自定义传输机制，以满足其特定需求。协议与传输无关，可以在任何支持双向消息交换的通信通道上实现。

选择支持自定义传输的实现者 **MUST** 保留 JSON-RPC 消息格式、[消息模式](/specification/draft/basic/patterns) 和按请求提供元数据的模型。自定义传输 **SHOULD** 记录其连接建立、消息成帧和取消模式，以帮助实现互操作。

运行在可靠双向字节流（例如 Unix domain socket 或 TCP）之上的自定义传输 **SHOULD** 复用 [stdio 成帧](/specification/draft/basic/transports/stdio)，而不是定义新的成帧方式：stdio 绑定只是字节流上的换行分隔 JSON-RPC，只有它的进程生命周期规则是标准流特有的。

## Backward Compatibility

更早的协议修订通过 `initialize` 握手建立连接作用域的会话，并允许服务器发起 JSON-RPC 请求。与这些修订互操作的客户端和服务器会检测对端所属的时代，并按照[版本控制：向后兼容性](/specification/draft/basic/versioning#backward-compatibility-with-initialization-based-versions)中的说明回退；该页面还包含面向实现者的兼容性矩阵。每个绑定页面都会描述其特定于传输的检测机制。
