📝
预计字数:约 5000 字 阅读时间:约 12 分钟 难度等级:⭐⭐(小白友好,含技术细节)
核心价值:看懂MCP是什么、7月28日最大改版改了什么,并学会配置第一个MCP工具让AI帮你干活
2026年7月28日,MCP协议发布史上最大改版。这篇带你从零看懂它,附完整代码和配置实操。
昨天,AI圈出了一件事。
Anthropic发布了MCP协议的 2026-07-28版本,官方说法是"自2024年11月发布以来最大规模的协议修订"。6项破坏性变更,12个月弃用倒计时,四大SDK同步发稳定版。
你可能觉得,协议改版跟我有什么关系。
关系大了。因为这次更新直接影响三件事:你未来能用多少AI工具,这些工具有多稳定,AI帮你干活有多快。
这篇不讲虚的。先搞懂MCP是什么,再拆解7月28日到底改了什么,最后给你一份能照着做的上手指南。有代码,有示意图,有配置文件。
先搞懂:MCP到底是个啥
AI再聪明,它也只是个关在房间里的脑子。看不到你的文件,碰不到你的数据库,调不了你的工具。
你想让Claude帮你读电脑里的Excel,它说看不到。你想让ChatGPT帮你查数据库,它说连不上。
以前解决这个问题的办法是:每接一个工具,从头写一套代码。Claude连GitHub写一套,ChatGPT连Notion又写一套,VS Code里的AI读你的数据库再来一套。
每个AI、每个工具,都要重新对接一遍。碎片化严重。
MCP就是干掉这件事的。
MCP全称 Model Context Protocol,模型上下文协议。一句话理解:AI的USB-C接口。
USB-C统一了设备接口,你不再需要带一堆不同的充电线。MCP统一了AI工具接口,开发者按协议写一次,所有支持MCP的AI客户端都能直接用。
💡
MCP是什么
Anthropic推出的开源标准,让AI应用以统一方式连接外部工具和数据源。已被Claude、ChatGPT、VS Code Copilot、Cursor等广泛支持,并由Anthropic捐赠给Linux基金会推动成为行业标准。
来看一张架构图,理解MCP在AI和外部世界之间的位置:
MCP 架构:AI应用通过MCP协议统一连接各类外部工具和数据源
关键点:MCP不是某个AI的功能,是一个开放协议标准。任何AI客户端都可以支持它,任何工具开发者都可以按它来写接口。
这就意味着,你只要在一个支持MCP的客户端里配置好工具,换个客户端也能用。不用重新学一套。
7月28日更新:从"挂号看病"到"带材料办事"
MCP 2026-07-28 核心变化:从"有状态"到"无状态"
自 2024 年 11 月发布以来最大架构改版,6 项破坏性变更
| 对比维度 | 旧版(有状态) | 新版(无状态 2026-07-28) |
| 握手流程 | 必须先 initialize 握手才能使用 | 无握手,直接发请求即可 |
| 会话管理 | 所有请求携带 Mcp-Session-Id | 请求自包含,无需会话 ID |
| 负载均衡 | 需"粘性会话"路由 | 普通轮询负载均衡即可 |
| 容灾能力 | 实例宕机 = 会话全部丢失 | 任意实例可处理任意请求 |
| 网关路由 | 需解析 JSON 请求体才能路由 | Mcp-Method 头实现网关原生路由 |
| 水平扩展 | 依赖 Redis 共享存储 | 无限水平扩展,部署极简 |
配套升级一览
| 升级项 | 说明 |
| tools/list 原生缓存 | 减少 80%+ 重复请求 |
| MCP Apps 交互式 UI | 替代旧 Roots 能力 |
| Tasks 长任务轮询 | 摆脱实例绑定 |
| OAuth 2.1 + PKCE | 安全授权强制要求 |
💡
已进入弃用倒计时(2027年7月移除)
Roots / Sampling / Logging 三项旧版能力已进入 12 个月弃用窗口,分别迁移至 MCP Apps、MCP Apps + Tasks 组合、OpenTelemetry。
这次更新的核心就一句话:从"有状态"变成"无状态"。
听起来很技术。别急,我用大白话拆。
旧版:先挂号,再看诊
旧版MCP的工作方式像去医院。你得先去窗口挂号,拿到一个就诊号,后面所有看诊都认这个号。换窗口?不认,重新挂号。
技术上的说法是:客户端先发一个 initialize 请求完成握手,服务器返回一个 Mcp-Session-Id(就诊号),后续所有请求都带着这个号。
看看旧版完整的请求流程:
// 第一步:客户端发起握手 POST /mcp HTTP/1.1 Content-Type: application/json { "jsonrpc": "2.0", "id": 1785172985193, "method": "initialize", "params": { "protocolVersion": "2025-11-25", "capabilities": {}, "clientInfo": { "name": "demo-client", "version": "1.0" } } }HTTP/1.1 200 OK Content-Type: application/json Mcp-Session-Id: ce843e95-50bc-471f-bd8b-dcbcf75dc998 { "jsonrpc": "2.0", "id": 1785172985193, "result": { "protocolVersion": "2025-11-25", "capabilities": { "tools": { "listChanged": true } }, "serverInfo": { "name": "old-mcp-server", "version": "1.0.0" } } }拿到这个 Mcp-Session-Id 之后,你后续所有请求都得带着它。不带?直接被拒:
HTTP/1.1 400 Bad Request Content-Type: application/json { "jsonrpc": "2.0", "id": 4, "error": { "code": -32600, "message": "Missing or invalid Mcp-Session-Id" } }这个设计在单台服务器上没问题。但放到云端生产环境,三个痛点全来了:
痛点一:负载均衡被绑死。云端不会只有一台服务器。但旧版要求同一个会话的所有请求必须打到同一台机器(这叫"粘性会话")。那台机器挂了,所有会话全丢。
痛点二:水平扩展依赖Redis。要解决单点故障,就得引入Redis共享存储来保存会话状态。每个请求多一次查询,运维复杂度直线上升。
痛点三:网关必须解析请求体。如果要按方法做路由(比如把工具调用和资源查询分开),网关必须解析JSON请求体才能拿到 method 字段。Nginx原生不支持,得上Lua插件。
新版:带齐材料,谁接都行
新版砍掉了挂号环节。你每次去,把所有材料带齐,随便到哪个窗口都能直接办。任何一台服务器都能处理你的请求,不需要记住你是谁。
看看新版怎么发请求:
POST /mcp HTTP/1.1 MCP-Protocol-Version: 2026-07-28 Mcp-Method: tools/list Content-Type: application/json { "jsonrpc": "2.0", "id": 1785172986550, "method": "tools/list", "params": {} }注意看:没有 initialize,没有 Mcp-Session-Id。方法名直接放在HTTP头 Mcp-Method 里,网关读个头就能路由,不用解析请求体。
如果你在新版里还试图发 initialize 握手,服务器会明确告诉你:这功能没了。
HTTP/1.1 200 OK Content-Type: application/json { "jsonrpc": "2.0", "id": 1785172986531, "error": { "code": -32601, "message": "initialize handshake removed in 2026-07-28" } }调用工具也是一样,请求自包含全部信息:
POST /mcp HTTP/1.1 MCP-Protocol-Version: 2026-07-28 Mcp-Method: tools/call Mcp-Name: search Content-Type: application/json { "jsonrpc": "2.0", "id": 1785172986551, "method": "tools/call", "params": { "name": "search", "arguments": { "q": "otters" }, "_meta": { "io.modelcontextprotocol.clientInfo": { "name": "demo-client", "version": "1.0" } } } }看到那个 _meta 字段了吗?以前在握手阶段传的客户端信息,现在放到每个请求里自己带着。每个请求独立完整,打到哪台服务器都能处理。
💡
头体一致性校验
新版新增了校验机制:Mcp-Method 头的值必须和请求体里的 method 字段一致,Mcp-Name 头必须和 params.name 一致。不一致直接400拒绝。这保证了网关路由的正确性。
这个变化被称为AI Agent基建的"HTTP/1.1时刻"。就像当年HTTP从有状态走向无状态催生了整个现代互联网一样,MCP的无状态化让AI工具的云端部署变得极其简单。
6项破坏性变更:拆开看改了什么
这次无状态化不是单个改动,是6个规范增强提案(SEP,你可以理解为协议的PR)协同完成的完整体系。
| SEP编号 | 名称 | 核心作用 | 破坏性 |
| SEP-2575 | 移除 initialize 握手 | 取消握手流程,clientInfo 移入请求 _meta | 是 |
| SEP-2567 | 移除 Mcp-Session-Id | 删除协议层会话机制,请求完全自包含 | 是 |
| SEP-2243 | Mcp-Method / Mcp-Name 头 | 方法名提升到HTTP头,网关原生路由 | 是 |
| SEP-2549 | 可缓存结果规范 | 定义统一的缓存控制字段与头格式 | 否 |
| SEP-2322 | 多轮往返请求 (MRTR) | 用不透明状态令牌替代SSE长连接交互 | 是 |
| SEP-2663 | Tasks 扩展重构 | 长任务改为句柄轮询,适配无状态架构 | 是 |
完整逻辑链路是这样的:
删握手 → 去会话 → 网关可路由 → 接口可缓存 → 交互无长连接 → 长任务无绑定 → 全链路无状态。
每一步都是为下一步铺路。砍掉握手才能去掉会话,去掉会话网关才能原生路由,网关能路由了接口才能缓存,接口能缓存了长连接交互才能改成轮询,长连接改了长任务才能脱离实例绑定。
除了无状态化,还有这些配套升级
tools/list 原生缓存。以前AI每次想确认有哪些工具可用都得发请求,但工具列表可能几周都不变。新版在协议层支持缓存控制,通过HTTP响应头 MCP-Tool-Cache 和响应体 _meta.cacheControl 同时返回缓存策略,减少80%以上的重复请求。
HTTP/1.1 200 OK Content-Type: application/json MCP-Tool-Cache: ttlMs=300000; cacheScope=shared { "jsonrpc": "2.0", "id": 1785172986550, "result": { "tools": [...], "_meta": { "cacheControl": { "ttlMs": 300000, "cacheScope": "shared" } } } }ttlMs 是缓存有效期(300000毫秒 = 5分钟),cacheScope 是缓存范围(shared 表示可跨客户端共享)。
MCP Apps 交互式UI。新增能力,服务端可以返回交互式HTML界面,由客户端在沙箱iframe中渲染。以前AI返回的是纯文字,以后可能直接返回一个带图表的仪表盘,你能点能看能交互。
Tasks 长任务轮询。旧版长任务通过SSE长连接推送状态,天然和单台服务器绑定。新版改成轮询:你提交任务拿到一个句柄,然后按间隔查状态,任何实例都能告诉你任务进展。
OAuth 2.1 + PKCE 强制要求。远程部署的MCP服务必须接入标准授权。你的数据连接过程更有保障。
💡
12个月弃用倒计时
旧版的三项能力已进入弃用窗口:Roots(迁移至MCP Apps)、Sampling(迁移至MCP Apps + Tasks组合)、Logging(迁移至OpenTelemetry)。2027年7月正式移除。如果你看到旧教程用到这些功能,属于正常现象。
这对普通用户意味着什么
协议层面的变化,听起来离你很远。但实际影响是实打实的。
| 维度 | 对你的影响 |
| 工具数量 | 部署门槛大幅降低,更多服务商愿意提供云端MCP工具,你能用的工具会爆发式增长 |
| 使用稳定性 | 无状态架构意味着服务器重启不会丢失你的连接,任意实例都能接手你的请求 |
| 响应速度 | 原生缓存减少80%以上的重复请求,AI发现工具和响应的速度更快 |
| 数据安全 | 强制OAuth 2.1 + PKCE授权标准,数据连接过程更有保障 |
| 交互体验 | MCP Apps让AI可以返回可视化界面,不再只是纯文字交互 |
新手怎么用MCP:4步上手指南
用MCP不需要写代码。整个流程像给浏览器装插件:选客户端、装工具、配置、直接对话。
第1步:选一个支持MCP的AI客户端
MCP是开放协议,以下客户端都已原生支持,选你常用的即可:
- Claude Desktop
- TRAE IDE
- ChatGPT
- VS Code Copilot
- Cursor
第2步:安装现成的MCP工具插件
官方和社区已提供大量即装即用的MCP服务器。去MCP官方示例库 modelcontextprotocol.io/examples 就能找到完整工具列表。不需要自己开发。
- Filesystem 文件访问
- GitHub 代码管理
- Brave Search 搜索
- PostgreSQL 数据库
- Google Drive
- Slack 消息
- Notion 笔记
- Puppeteer 浏览器
第3步:在客户端配置中添加MCP Server
以 Claude Desktop 为例,编辑配置文件 claude_desktop_config.json,把MCP Server的启动命令填进去,保存重启就行。
这个配置文件长这样:
// 文件位置(macOS): // ~/Library/Application Support/Claude/claude_desktop_config.json { "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/你的用户名/Documents" ] }, "github": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "你的GitHub Token" } }, "brave-search": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-brave-search" ], "env": { "BRAVE_API_KEY": "你的Brave API Key" } } } }每加一个工具就是加一段配置。command 是启动命令,args 是参数,env 是环境变量(放API Key之类的东西)。保存后重启客户端,AI就会自动发现这些工具。
其他客户端也有类似的配置入口,部分还提供了图形化界面,点点鼠标就能完成。
第4步:像平时一样跟AI对话
配置完成后,AI会自动发现你添加的工具,并在需要的时候主动调用。你不需要学任何新指令。
直接说"帮我看看桌面上那个Excel文件的销售数据",AI就会自己去读文件、分析数据、给你结果。
5个场景,感受MCP的威力
| 场景 | 说明 |
| 文件处理 | 接入Filesystem MCP,让AI直接读取、分析、编辑你电脑上的文件,不用再来回复制粘贴 |
| 编程开发 | 接入GitHub MCP,让AI查看代码仓库、管理Issue、帮你提交Pull Request |
| 数据查询 | 接入PostgreSQL MCP,用自然语言查询数据库,AI自动写SQL并执行,直接返回结果 |
| 知识管理 | 接入Notion MCP,让AI读写你的笔记库,自动整理和检索信息 |
还有一个特别实用的场景:接入Brave Search MCP,让AI在你提问时实时搜索最新信息再回答。
这意味着AI不再是"知识停留在训练数据截止日期"的状态,而是能获取实时信息的智能助手。
💡
给新手的三条建议
1. 从现成工具开始。不要想着自己开发MCP Server。官方和社区的工具已经覆盖了绝大多数需求。
2. 选你最常用的客户端。用Claude就配Claude,用VS Code就配VS Code Copilot。MCP的核心价值就是"一次配置,处处可用"。
3. 从简单场景切入。先接入Filesystem让AI读写文件,体验"AI能直接操作你的电脑"的感觉,再逐步扩展到数据库、代码仓库等复杂场景。
写在最后
MCP的意义不在于它是一个新功能,在于它正在成为AI连接外部世界的标准基础设施。
USB-C统一了设备接口之后,你终于不用再带一堆不同的充电线了。MCP统一了AI工具接口之后,也不需要每个AI应用都重新发明一遍"怎么连数据库""怎么读文件""怎么发消息"的轮子。
7月28日的无状态化改版,更是把这个基础设施从"能用"推向了"好用"和"大规模可用"。
对普通用户来说,最直接的体感就是:未来你能用的AI工具会越来越多,越来越稳,越来越快。
如果你还没试过MCP,今天就下载一个Claude Desktop或者打开你常用的TRAE IDE,接入第一个MCP工具。
出来混,最重要的是出来。而MCP就是那个“出来”。
既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果可以给我个星标⭐,将不胜感激~谢谢你看我的文章,我们,下次再见。
#MCP #Claude #AI工具 #Anthropic #AI提效 #ModelContextProtocol
作者:大象-推动 AI 共学,让普通人轻松上手AI
相关链接
1. MCP 官方文档:https://modelcontextprotocol.io/docs/getting-started/intro
2. MCP 官方示例库:https://modelcontextprotocol.io/examples
3. Anthropic 官方:https://www.anthropic.com
4. 社群站:https://daxiangnaoyang.github.io/daxiang-ai-gongxue/?motion=on