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

# 概述

MCP 客户端和服务器之间的所有消息 **必须** 遵循
[JSON-RPC 2.0](https://www.jsonrpc.org/specification) 规范。该协议定义了
三种基本类型的消息：

| Type            | Description | Requirements   |
| --------------- | ----------- | -------------- |
| `Requests`      | 用于发起操作的消息   | 必须包含唯一 ID 和方法名 |
| `Responses`     | 用于回复请求的消息   | 必须包含与请求相同的 ID  |
| `Notifications` | 无需回复的单向消息   | 不得包含 ID        |

**Responses** 进一步细分为 **成功结果** 或 **错误**。
结果可以遵循任何 JSON 对象结构，而错误至少必须包含错误代码和
消息。

## 协议层

模型上下文协议由几个关键组件共同组成：

* **基础协议**：核心 JSON-RPC 消息类型
* **生命周期管理**：连接初始化、能力协商和
  会话控制
* **服务器功能**：服务器暴露的资源、提示词和工具
* **客户端功能**：客户端提供的采样和根目录列表
* **实用工具**：日志记录和参数补全等跨领域关注点

所有实现 **必须** 支持基础协议和生命周期管理
组件。其他组件 **可以** 根据应用程序的具体需求来实现。

这些协议层建立了清晰的关注点分离，同时支持客户端和服务器之间丰富的
交互。模块化设计允许实现仅支持它们所需的功能。

请参阅以下页面以了解不同组件的更多详细信息：

<CardGroup cols={3}>
  <Card title="生命周期" icon="arrows-rotate" href="/specification/2024-11-05/basic/lifecycle" />

  <Card title="资源" icon="file-lines" href="/specification/2024-11-05/server/resources" />

  <Card title="提示词" icon="message" href="/specification/2024-11-05/server/prompts" />

  <Card title="工具" icon="wrench" href="/specification/2024-11-05/server/tools" />

  <Card title="日志记录" icon="rectangle-list" href="/specification/2024-11-05/server/utilities/logging" />

  <Card title="采样" icon="code" href="/specification/2024-11-05/client/sampling" />
</CardGroup>

## 认证

认证和授权目前不是核心 MCP 规范的一部分，
但我们正在考虑在未来引入它们的方法。加入我们的
[GitHub Discussions](https://github.com/modelcontextprotocol/specification/discussions)
以帮助塑造协议的未来！

客户端和服务器 **可以** 协商它们自己的自定义认证和授权
策略。

## 模式

协议的完整规范定义为
[TypeScript 模式](http://github.com/modelcontextprotocol/specification/tree/main/schema/2024-11-05/schema.ts)。
这是所有协议消息和结构的真实来源。

还有一个
[JSON Schema](http://github.com/modelcontextprotocol/specification/tree/main/schema/2024-11-05/schema.json)，
它是从 TypeScript 真实来源自动生成的，用于
各种自动化工具。
