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

# 概述

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

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

协议语义在每种传输上都是相同的。传输是一种**绑定（binding）**：它定义消息如何被分帧和投递、请求元数据如何被携带，以及取消和终止如何被示意。它不定义消息的含义：[消息模式](/specification/2026-07-28/basic/patterns)是核心协议的一部分，在每种绑定上都相同。绑定页面指定标准传输：

1. [stdio](/specification/2026-07-28/basic/transports/stdio)：通过客户端启动的子进程的标准流的、以换行符分隔的消息。
2. [Streamable HTTP](/specification/2026-07-28/basic/transports/streamable-http)：每条消息是对单个 MCP 端点的一个 HTTP POST；回复以一个 JSON 对象或一个请求范围的 SSE 流的形式到达。

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

## 消息

MCP 使用 JSON-RPC 编码消息。JSON-RPC 消息\*\*必须（MUST）\*\*是 UTF-8 编码的。

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

## 请求元数据

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

一个绑定\*\*可以（MAY）\*\*额外地将选定的消息体字段镜像到信封元数据中。Streamable HTTP 传输将它们镜像到 [HTTP header](/specification/2026-07-28/basic/transports/streamable-http#request-metadata) 中，以便中间方可以在不解析消息体的情况下路由和检查请求。消息体仍然是真实来源；镜像元数据的绑定定义如何拒绝不匹配。

## 取消

每种绑定定义客户端如何放弃一个执行中的请求：在 stdio 上客户端发送一个 `notifications/cancelled` 通知；在 Streamable HTTP 上它关闭该请求的响应流。协议级别的规则在各处都相同；参见[取消](/specification/2026-07-28/basic/patterns/cancellation)。

## 自定义传输

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

选择支持自定义传输的实现者\*\*必须（MUST）**保留 JSON-RPC 消息格式、[消息模式](/specification/2026-07-28/basic/patterns)，以及每请求元数据模型。自定义传输**应当（SHOULD）\*\*记录它们的连接建立、消息分帧和取消模式，以助于互操作性。

在可靠的双向字节流（例如 Unix 域套接字或 TCP）上运行的自定义传输\*\*应当（SHOULD）\*\*重用 [stdio 分帧](/specification/2026-07-28/basic/transports/stdio)，而不是定义一个新的：stdio 绑定只是字节流上以换行符分隔的 JSON-RPC，只有它的进程生命周期规则特定于标准流。

## 向后兼容

早期的协议修订版通过 `initialize` 握手建立一个连接范围的会话，并允许服务器发起 JSON-RPC 请求。与那些修订版互操作的客户端和服务器检测对方的时代并回退，如[版本管理：向后兼容](/specification/2026-07-28/basic/versioning#backward-compatibility-with-initialization-based-versions)中所述，其中包括一个供实现者使用的兼容性矩阵。每个绑定页面描述其特定于传输的检测机制。
