第2章:MCP 核心概念
🎯 章节目标:把 MCP 的架构、组件、通信机制和数据流讲成一张能复述出来的图 ⏱️ 章节时长:2–3 小时 📊 难度等级:⭐⭐ 基础(需读完第1章)
🚀 章节概述
第1章解决了"为什么",这一章解决"长什么样"。
MCP 的架构其实不复杂,难的是术语太多:Host、Client、Server、Tool、Resource、Prompt、Transport、JSON-RPC……如果这些概念各记各的,很快就会乱。所以本章的组织方式是一条线:先生成整体架构(2.1),再逐个认识角色(2.2),然后看它们用什么语言交流(2.3),最后跟一条真实请求走完全程(2.4)。
读完本章,你应该能在白板上画出 MCP 的运行图,并解释每个箭头代表什么。
🗺️ 学习路径
📚 章节内容
| 小节 | 标题 | 核心内容 | 难度 |
|---|---|---|---|
| 2.1 | MCP架构深度解析 | 核心设计原则、组件全景、分层职责视图、常见架构模式 | ⭐⭐ |
| 2.2 | Host、Client、Server详解 | 三大角色用"戏剧"比喻讲透、职责边界、一对一连接关系 | ⭐⭐ |
| 2.3 | 通信协议 | JSON-RPC 2.0 消息格式、stdio 与 Streamable HTTP 传输、错误码 | ⭐⭐⭐ |
| 2.4 | 数据流转 | 一次工具调用的完整生命周期、元数据如何随请求传递 | ⭐⭐⭐ |
🏛️ 2.1 MCP架构深度解析
先给全局。用两张图分别回答"有哪些组件"和"数据怎么一层层流下去",并归纳 MCP 的设计原则(可扩展、安全、易用)。
看点:组件全景图、分层职责视图、架构模式。
🎭 2.2 Host、Client、Server详解
用一个戏剧比喻记住三大角色:Host 是舞台/剧场、Client 是演员、Server 是后台工具间。重点讲清职责边界——谁负责发请求、谁负责执行、谁负责编排。
看点:三角色对照表、连接是一对一的、Host 才是面向用户的那个。
📮 2.3 通信协议
MCP 的消息格式建立在 JSON-RPC 2.0 之上,这是理解一切请求/响应的基础。同时讲清当前支持的传输方式:本地用 stdio,远程用 Streamable HTTP。
看点:JSON-RPC 请求/响应/通知三种消息、两种传输的适用场景、错误码含义。
⚠️ 通信方式在本轮规范中已收敛。看到"WebSocket 传输"的说法,那是旧模型的遗留,2026-07-28 规范里没有它。
🌊 2.4 数据流转
把前面所有概念串起来:从用户说一句话,到 Host 里的 Client 发出 JSON-RPC 请求,Server 执行工具,结果原路返回……一条请求走完全程。
看点:端到端时序、无状态模型下元数据如何随每次请求携带。
🎯 学习目标
读完本章,你应当能够:
- ✅ 画出 MCP 的组件全景图,并说清各部分的职责
- ✅ 用一句话区分 Host、Client、Server,并解释为什么连接是一对一的
- ✅ 读懂一段 JSON-RPC 请求/响应,指出方法名、参数和错误码
- ✅ 根据场景选择 stdio 或 Streamable HTTP
- ✅ 完整描述一次工具调用的数据流转过程
🔑 本章最容易被旧资料带偏的三个点
- 连接关系:一个 Host 可以带多个 Client,但每个 Client 只连一个 Server。Client 不是"某个人编写的库",而是 Host 内部为每个 Server 建立的连接单元。
- 无状态:2026-07-28 起,请求之间不共享会话状态。需要的能力(协议版本、客户端信息等)由每次请求自己带上,而不是靠一次握手协商后记住。
- 传输只有两种:stdio 与 Streamable HTTP。SSE 是 Streamable HTTP 内部的流式细节,不再是独立的传输类型。
🚦 下一步
架构清楚了,动手环境就可以搭起来了。