Simon Willison 对 MCP 态度的变化,是 AI 开发者圈子里一个值得关注的信号。
2025 年底,他在年度回顾里写了一篇小标题叫「The Only Year of MCP」,大意是 MCP 火了不到一年,就被 Skills(同样是 Anthropic 推出的概念)取代了——一个能访问终端、能跑 curl 的 agent,比任何 MCP 工具都灵活。2026 年上半年的趋势也确实如此:Claude Code、Codex 这类 CLI agent 横扫了开发者工具链,MCP 更像是被遗忘在角落的协议。
但这周他变了。7 月 28 日 MCP 2.0(官方叫 2026-07-28 版规范)发布,核心改动就一个词:stateless(无状态)。Simon 在 7 月 31 日的博客里说,这件事重新点燃了他对 MCP 的兴趣。

为什么 stateless 是转折点?
MCP 1.0 的架构是 session-based:客户端先建连接,再通过心跳维持会话,工具发现、调用、错误处理全部依赖有状态的上下文。这导致两个问题:
- 实现门槛高。写一个 MCP server 需要处理会话生命周期、状态管理、协议协商,比写一个 CLI 工具复杂得多。
- 部署别扭。无状态 HTTP 是 Web 基础设施的默认模式,但 MCP 1.0 偏偏要走有状态的路,导致和现有网关、负载均衡、serverless 平台天然冲突。
MCP 2.0 把协议改成了单次 HTTP 请求模型。客户端发一个请求,带上 Mcp-Protocol-Version 和 Mcp-Method 头,服务端返回结果,结束。没有会话,没有心跳,没有状态同步。
Simon 的原话是:「这让实现 MCP 客户端和服务端的复杂度大幅下降。」 三天内他用这个新协议写了三个项目。
三个项目
mcp-explorer:一个 CLI 工具,用法类似 mcp-explorer <url>。它会自动发现 MCP 服务端暴露了哪些工具,然后启动一个交互式 REPL 供开发者调试和调用。对 MCP 服务端开发者来说,这就像 curl 之于 REST API。
datasette-mcp:Datasette 的 MCP 插件。Datasette 是一个把 SQLite 数据库变成 Web API 的工具,加上这个插件后,任何 LLM agent 都可以通过 MCP 协议查询 Datasette 里的数据。对于需要让 AI 操作数据库的场景,这比给 agent 直接开放 SQL 连接安全得多。
llm-mcp-client:Simon 自己的 LLM 命令行工具的 MCP 客户端插件。装上之后,终端里的 LLM 就能调用任何 MCP 服务端暴露的工具。
这三个项目的共同点是:每个都极其轻量。这正是 stateless 带来的直接好处——协议一简化,生态工具自然会跟上来。
安全论
Simon 提到他重新拥抱 MCP 的另一个原因,是安全问题。
7 月 22 日,OpenAI 遭遇了一次网络攻击,攻击者通过 ChatGPT 的 agent 功能执行了恶意指令。Simon 在博客里直接引用了这篇报道,然后说了一句很关键的话:
给 agent 一个能访问互联网的 shell 环境,风险极高。而 MCP 工具更容易审计和控制,简单到连跑在笔记本上的小模型都能有效驱动。
这句话的潜台词是:MCP 的"局限"——每个工具都是显式声明的、有明确输入输出边界的函数——恰恰是它的安全优势。CLI agent 什么都能做,但也意味着什么都可能出问题。MCP 把能力圈收缩到「服务端允许你调用的那几个工具」,攻击面天然小得多。
值得关注
Simon Willison 是那种「他用什么,什么就值得关注」的开发者。从 Datasette 到 LLM CLI 工具,他在 AI 工具链上的判断力被事实证明过多次。
他对 MCP 从看衰到重新投入,不是因为协议本身有什么天花乱坠的宣传,而是 stateless 这个改动恰好解决了 MCP 1.0 最核心的问题。HTTP 无状态 + JSON-RPC 风格的方法调用,这个组合已经被 Web 基础设施验证了 20 年,现在终于被 MCP 采用了。
这件事的影响可能不会立刻显现——MCP 2.0 的生态还需要时间重建。但方向是对的:把 MCP 从「需要专用 SDK 的协议」变成「任何 HTTP 客户端都能调用的协议」,这可能是让 MCP 走出 Anthropic 生态、成为真正通用标准的关键一步。
参考来源: