← 返回
精选科技行业动态#Anthropic#datasette-mcp#llm-mcp-client#mcp-explorer#Model Context Protocol

无状态 MCP 2.0 发布:Simon Willison 重燃兴趣并推出三款新工具

Simon Willison 博客(Atom)T2
07:1308/01 07:13社区阅读原文 ↗导出 MD ↓

评分

77
信息增量8 ×0.3

无状态 MCP 的规范细节、前后对比以及三个新工具均为首次系统性呈现,信息增量高。

内容质量9 ×0.2

作者提供了可直接运行的命令、HTTP 示例与真实会话,技术内容严谨清晰。

实用价值9 ×0.2

mcp-explorer 等工具和 TIL 教程可被开发者立即采用,降低接入 MCP 的门槛。

时效性8 ×0.15

针对 2026-07-28 新规范发布后的及时实践反馈,时效性强。

信源可信度9 ×0.15

Simon Willison 是 MCP 生态重要参与者和 Datasette 作者,信源具有高可信度。

基础分 85.5 × T2 信源权重 ×0.9 = 77

精选线 70已入选精选

精选理由

内容来自 MCP 生态核心开发者的一线实践,包含新规范解读、代码示例与安全观点,信息密度高。

AI 点评

「作为 MCP 生态的早期布道者和 Datasette 作者,Simon Willison 的这次转向很有信号意味:无状态规范让工具接入门槛大幅降低,也让我更看好 MCP 重回主流 Agent 工具协议。对正在做 Agent 基础设施或 LLM 应用安全设计的人来说,他给出的三个工具和安全性观点都值得直接参考。」

速览

MCP 2.0(2026-07-28 规范)引入无状态调用,将原本需要两次 HTTP 请求、维护会话 ID 的流程简化为一次请求,显著降低客户端与服务器实现复杂度。Simon Willison 由此重燃对 MCP 的兴趣,并发布 mcp-explorer、datasette-mcp 与 llm-mcp-client 三款工具。他还认为,相比开放 shell 与 curl 的通用 Agent,MCP 工具更易审计和控制,更适合构建敏感应用。

  • 无状态 MCP 2.0(2026-07-28 规范)将工具调用简化为一次 HTTP 请求,不再需要会话 ID 和服务器端状态。
  • Simon Willison 用 mcp-explorer、datasette-mcp 和 llm-mcp-client 三个项目验证新规范。
  • datasette-mcp 可让 ChatGPT/Claude 对 Datasette 实例执行只读 SQL 查询。
  • 他认为相比开放 shell/curl 的 Agent,MCP 工具更容易审计,更安全可靠。

正文

星期二正是无状态MCP日——即MCP 2.0的发布,或者用更正式但更难记的名字来说,是2026-07-28版Model Context Protocol规范。这是MCP规范自首次发布以来最重大的一次变更,也重新点燃了我对这套协议的个人兴趣。

背景补充:MCP即Model Context Protocol(模型上下文协议),描述了一种向基于LLM的智能体框架暴露新工具的标准方式。它由Anthropic于2024年11月推出,在2025年大部分时间经历了巨大的关注激增,之后便有些被Skills(Anthropic的另一项发明)所掩盖,因为情况越来越明显:一个能访问终端和curl的智能体框架,可以用更灵活的方式完成MCP的大部分工作。我在2025年度回顾中写过这件事。

我现在重新回归MCP。给智能体一个能访问互联网的shell环境充满风险,而且需要一个能有效驾驭这种环境的强大模型。MCP工具更容易审计和控制,而且足够简单,即使是运行在笔记本上的较小模型也能比较好地使用它们。

新的无状态MCP规范还大大降低了为协议实现客户端和服务器的复杂度。本周我就构建了三个这样的东西!

无状态MCP带来了哪些便利

介绍新规范RC的这篇5月21日博客文章,最清晰地展示了有状态与无状态MCP之间的区别。其中包含一个明确的改进前后示例。

较旧的有状态MCP(我将其称为“传统MCP”)需要两个HTTP请求——第一个用于初始化会话并获取Mcp-Session-Id,第二个才真正调用工具:

POST /mcp HTTP/1.1
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "initialize",
  "params": {
    "protocolVersion": "2025-11-25",
    "capabilities": {
    },
    "clientInfo": {
      "name": "my-app",
      "version": "1.0"
    }
  }
}

POST /mcp HTTP/1.1
Mcp-Session-Id: 1868a90c-3a3f-4f5b
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "search",
    "arguments": {
      "q": "otters"
    }
  }
}

新的无状态方式只需一个HTTP请求,如下所示:

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": 1,
  "method": "tools/call",
  "params": {
    "name": "search",
    "arguments": {
      "q": "otters"
    },
    "_meta": {
      "io.modelcontextprotocol/clientInfo": {
        "name": "my-app",
        "version": "1.0"
      }
    }
  }
}

从客户端和服务器端实现的角度来看,这都干净得多。它也更适合构建可扩展的Web应用,因为现在无需维护服务器端状态来跟踪那些会话ID,也不用担心将同一会话路由到同一后端机器。

mcp-explorer

我找不到一款能交互式探查MCP服务器的好用CLI工具,于是让Codex帮我构建了一个。

mcp-explorer就是这个成果。它是一个无状态Python CLI工具,所以你甚至无需安装即可试用——它可以配合uvx使用,如下所示:

uvx mcp-explorer list https://agentic-mermaid.dev/mcp

这会查询Ade Oshineye的agentic-mermaid.dev演示MCP。上述命令返回以下工具列表:

execute(code: string, timeoutMs?: integer) - Execute Mermaid SDK code
  Run JavaScript in an isolated sandbox; return a value.

describe_sdk(family: string, detail?: string) - Describe Mermaid SDK operations
  Return version-matched mutation operations for one diagram family.

render_svg(source: string, options?: object) - Render Mermaid as SVG
  Render a Mermaid source string to themeable SVG. Returns { ok, svg }.

render_ascii(source: string, useAscii?: boolean, targetWidth?: integer, options?: object) - Render Mermaid as text
  Render a Mermaid source string to text. Returns { ok, text }.

render_png(source: string, scale?: number, background?: string, fitTo?: object, options?: object) - Render Mermaid as PNG
  Rasterize a Mermaid source string to PNG. Returns { ok, png_base64 }.
...

然后检查某个工具:

uvx mcp-explorer inspect render_svg

这会输出大量信息,包括输入和输出的JSON schema。

调用该工具并传入参数:

uvx mcp-explorer call \
  https://agentic-mermaid.dev/mcp \
  render_svg \
  -a source 'graph TD; A-->B' \
  -a options '{"padding":24}'

返回结果:

{"ok":true,"svg":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=...

若只想获取原始SVG,可尝试在该命令后加上| jq .svg -r。我得到了这张图片:

SVG of as A box on top of a B box with an arrow from A to B

README中还有几个其他命令,但你已经明白大致用法了。我发现,即使大部分代码由智能体编写,亲手构建这样的CLI工具也是熟悉规范的一种非常高效的方式。

datasette-mcp

第二个项目是datasette-mcp,这是一个Datasette插件,可为任何Datasette实例添加/-/mcp端点。

这大概是我第四次尝试构建这个插件,但多亏了新的无状态MCP规范,我终于有了一个适合发布的版本。

它只提供三个工具:list_databases()、get_database_schema(database_name)和execute_sql(database_name, sql)。它们做的事正如你所预期——不过execute_sql()目前是只读的。

将这些接入智能体,或接入ChatGPT或Claude等聊天工具后,它们就能针对你托管的Datasette实例运行SQL查询。

目前我正把它运行在我博客的 Datasette 镜像上,地址是 datasette.simonwillison.net/-/mcp。琢磨了一番才弄明白如何把它接入 ChatGPT 和 Claude,不过最后还是成功了。这是 一篇新的 TIL,里面详细介绍了具体做法。

这是 一段共享的 Claude 会话,我在其中提问:

列出 simonwillison.net 中的表

然后:

Simon 最近关于 MCP 说了什么?

它运行了 7 条独立的 SQL 查询才得出答案。

llm-mcp-client

我的 LLM 工具早就该有一个官方的 MCP 集成了。新的 alpha 版插件 llm-mcp-client 正是我为此做的尝试:

llm install llm-mcp-client
llm -T 'MCP("https://datasette.simonwillison.net/-/mcp")' 'count the notes'

这是输出(包括推理痕迹,我正在使用 LLM 0.32rc2):

正在统计笔记数量 我看到“统计笔记”这个问题可能是在要求我汇总博客笔记的数量。也可能是指已发布的笔记或草稿,所以存在一些歧义。我需要弄清楚笔记的总数,很可能要通过查询已发布笔记和草稿的数量来得出明确答案。让我来执行这个统计! 共有 151 条笔记。

以及该提示对应的 llm logs 的输出。

一旦这个功能完全成熟,我考虑直接把它整合进 LLM 核心。我也很期待在 Datasette Agent 和 llm-coding-agent 中尝试 MCP。

MCP 是一种更安全的构建智能体方式

MCP 发布几个月后,我写了 《Model Context Protocol 存在提示注入安全漏洞》,文中指出,让终端用户自行混搭工具这种模式,将避免数据外泄攻击的责任推给了用户自己。那时我还没有提出 “致命三角” 这个概念,但我心里想的正是它。

后来出现了拥有任意 shell 和 curl 访问权限的通用智能体,这让安全保障变得困难得多!

我逐渐体会到 MCP 的一个优点:相比在开放式网络环境中执行任意命令(这是当今大多数通用智能体和编程智能体工具的默认方式),基于 MCP 更容易推演智能体的能力边界以及可能出问题的地方。

在基于 LLM 构建敏感应用时,我打算更多地采用 MCP。

标签:projects、ai、datasette、mermaid、generative-ai、llms、llm、anthropic、model-context-protocol

相关条目

89

五维评分

信息增量9 ×0.3

基于真实用户行为数据的研究成果,提供了关于AI如何改变工作内容的新定量证据。

内容质量8 ×0.2

结构清晰,关键发现明确,但可进一步深入细分行业差异。

实用价值8 ×0.2

为企业管理层、HR和组织设计者提供了直接可参考的数据洞察。

时效性10 ×0.15

研究刚于近日发布,紧贴当前AI应用热潮。

信源可信度10 ×0.15

来源为OpenAI官方研究,数据可靠且权威。

基础分 89 × T1 信源权重 ×1 = 89

精选线 60已入选精选

11:30OpenAI:News(RSS)T1RSS

精选OpenAI研究:AI正在重新定义工作边界

如果你关心AI对实际工作的影响,这篇研究不容错过。它不讨论理论,而是用数据展示ChatGPT用户如何使用AI扩展自己的任务范围,这对HR、管理者以及每个希望提升技能的职场人都有直接启发。

AI行业#ChatGPT#OpenAI#劳动力市场影响
87

五维评分

信息增量8 ×0.3

提供了来自 AI 原生企业内部 CFO 的一手经验,信息增量较高。

内容质量9 ×0.2

内容结构清晰,来自权威高管,质量上乘。

实用价值8 ×0.2

为财务高管提供了可落地的经验与注意事项,实用价值强。

时效性9 ×0.15

刚发布的官方内容,时效性高。

信源可信度10 ×0.15

信源为 OpenAI 官方博客,可靠性极高。

基础分 86.5 × T1 信源权重 ×1 = 87

精选线 60已入选精选

01:00OpenAI:News(RSS)T1RSS

精选OpenAI CFO 分享构建 AI 原生财务职能的五大经验

作为编辑,我认为这篇文章的价值在于它来自 AI 领军企业的财务一把手,而非外部咨询机构,因此更具实践参考性。推荐给财务数字化负责人、CFO 以及对 AI 转型感兴趣的从业者阅读。

金融行业#AI原生财务#AI投资回报率#OpenAI
87

五维评分

信息增量8 ×0.3

首次系统性报告智能体AI在科学计算中的具体应用案例,信息增量较高。

内容质量9 ×0.2

来自权威机构OpenAI,内容结构清晰,案例详实,质量上乘。

实用价值8 ×0.2

为科研人员和决策者提供了可操作的参考和路线图,实用价值显著。

时效性9 ×0.15

报告发布日期为近期,紧贴AI agent热门趋势,时效性强。

信源可信度10 ×0.15

OpenAI作为AI领域头部机构,其官方报告可信度极高。

基础分 86.5 × T1 信源权重 ×1 = 87

精选线 60已入选精选

01:00OpenAI:News(RSS)T1RSS

精选智能体AI时代下的科学计算:OpenAI发布新领域报告

这份报告是当前AI agent热潮中最务实的应用分析之一,尤其适合计算生物学和药物研发领域的从业者阅读。它回答了“AI agent除了写代码还能干什么”这个关键问题,直接展示了在复杂科学计算中的生产力提升。

AI行业#AI编码智能体#OpenAI#基因组学
87

五维评分

信息增量8 ×0.3

语音人类自然度评估标准新工具,信息增量高,此前缺乏同类开源基准。

内容质量9 ×0.2

内容详实,技术细节清晰,附带使用说明与开源代码,质量高。

实用价值9 ×0.2

直接可用于模型开发与对比,实用价值极高,尤其对语音相关团队。

时效性8 ×0.15

语音AI快速发展期,评测需求强烈,发布时机恰逢其时。

信源可信度10 ×0.15

Hugging Face官方博客,权威信源,工具已开源可验证。

基础分 87 × T1 信源权重 ×1 = 87

精选线 60已入选精选

08:00Hugging Face:Blog(RSS)T1RSS

精选Real World VoiceEQ:量化语音AI的人类自然度

值得关注的是,这个基准真正聚焦'人类自然度'这个软指标,而不是传统的语音识别率或MOS评分。对从事语音合成、语音克隆或语音交互的团队来说,这是一个非常实用的参考工具,可以快速定位模型在情感、韵律等层面上的不足。不过目前支持语言有限,期待后续扩展。

科技行业#Hugging Face#Real World VoiceEQ#自然度评估
85

五维评分

信息增量8 ×0.3

提出新颖的AI ROI量化框架,对当前缺乏标准化评估方法的企业具有较高的信息增量。

内容质量7 ×0.2

框架逻辑清晰,但缺乏具体案例或数据支撑,偏概念性介绍。

实用价值9 ×0.2

直接面向企业实际痛点,可操作性强,对投资决策有明确指导意义。

时效性10 ×0.15

在当前AI投资泡沫与理性化需求背景下,该内容极其及时。

信源可信度9 ×0.15

来自OpenAI官方渠道,由CFO署名,权威性高。

基础分 84.5 × T1 信源权重 ×1 = 85

精选线 60已入选精选

18:00OpenAI:News(RSS)T1RSS

精选OpenAI 推出AI时代记分卡:衡量投资回报的新方法

这篇博文直击当前AI行业的软肋——如何量化投入产出。对于正在或计划大规模部署AI的企业决策者而言,它能帮助避免盲目跟风。我个人建议结合自身业务场景尝试定义“有用工作”,避免指标设计流于形式。

科技行业#AI记分卡#AI部署策略#OpenAI
85

五维评分

信息增量8 ×0.3

提出了新颖的'每美元有用功'指标,对AI投资评估有较高信息增量。

内容质量7 ×0.2

逻辑清晰、结构完整,但缺少实际案例分析,略偏抽象。

实用价值9 ×0.2

为企业提供了可落地的衡量框架与治理建议,实用性强。

时效性9 ×0.15

发表于代理时代兴起之际,贴合当前企业AI投资焦虑点。

信源可信度10 ×0.15

来源为OpenAI官方博客,权威性高。

基础分 84.5 × T1 信源权重 ×1 = 85

精选线 60已入选精选

18:00OpenAI:News(RSS)T1RSS

精选代理时代如何管理AI投资:聚焦每美元有用功与高价值工作流

这篇文章对正在大规模部署AI代理的企业尤为重要。它提醒我们:单纯盯着API价格下降会陷入误区,真正要管理的是每单位工作的投资回报率。建议CTO和CFO联合阅读,并在内部建立量化评估机制。

AI行业#AI代理#OpenAI#ROI
85

五维评分

信息增量8 ×0.3

提出组织延迟这一概念,对AI落地实践有增量启发。

内容质量8 ×0.2

观点明确,逻辑清晰,引用权威信源。

实用价值9 ×0.2

对企业和组织管理者具有直接指导意义。

时效性8 ×0.15

当前AI快速迭代期,组织滞后问题紧迫。

信源可信度10 ×0.15

来源为OpenAI官方新闻,权威性高。

基础分 85 × T1 信源权重 ×1 = 85

精选线 60已入选精选

20:00OpenAI:News(RSS)T1RSS

精选设计能跟上AI的组织:组织延迟成为最大障碍

这篇文章真正值得关注的是提出了一个被忽视的瓶颈:技术再强,组织跟不上也是白搭。对CTO、CIO和转型负责人来说,这是比技术选型更重要的思考框架。

AI行业#AI#OpenAI#组织变革
84

五维评分

信息增量9 ×0.3

本文披露 Ruff 默认规则的大幅扩展及具体迁移方法,对 Python 开发者有较高信息增量

内容质量9 ×0.2

结构清晰,包含具体统计数据、命令示例和 AI 集成案例,质量上乘

实用价值10 ×0.2

提供了可立即执行的一行命令和修复策略,对真实开发场景有直接帮助

时效性10 ×0.15

文章发布于版本发布后两天,非常及时

信源可信度9 ×0.15

来自知名技术博主 Simon Willison,长期维护多个 Python 项目,信源可靠

基础分 93.5 × T2 信源权重 ×0.9 = 84

精选线 70已入选精选

06:44Simon Willison 博客(Atom)T2社区

精选Ruff v0.16.0 发布:默认规则从59条激增至413条,CI工作流需关注

对于 Python 开发者来说,这是一个不容错过的更新信号。Ruff 的默认规则大幅增加意味着我们不能再忽视代码中潜在的问题,而 AI 修复工具正好可以降低升级成本。尤其值得关注的是 Astral(OpenAI)正在将 AI 编码能力与静态分析工具深度整合,这可能是未来工程实践的常态。

科技产品#Astral#CI/CD#OpenAI

引用前请核对原文