abc小站

2026-10-26

装上那天,就是它最后一次被你检查的那天(MCP 参考服务器 v2.1.0 自查清单)

MCP 官方参考服务器 v2.1.0 一次修了 8 个 GHSA 安全公告,涉及 filesystem、everything、fetch、git、memory 等:装过的人,现在该自查一遍了。

下面这份清单,写给照着教程装过 MCP filesystem 或 fetch 服务器的人。

先说事实。

据 GitHub 上的 release 页面,2026-10-25 00:03 UTC,cliffhall 发布了 modelcontextprotocol/servers 的 v2.1.0。

这一版一次修了 8 个 GHSA 安全公告。

再说一个更容易被忽略的事实:你的包管理器,大概率不会提醒你升级。

先把一件事说清楚

这不是"MCP 协议有洞"。

出问题的是官方维护的参考实现,也就是那几个拿来演示、拿来上手的服务器程序。

协议是一份约定。

参考实现是某个人按这份约定写出来的一段代码。

代码会有 bug,这很正常。修掉它,也是开源项目最正常的样子。

所以正确的反应,不是卸载 MCP,也不是从此不再信任任何 Agent 工具。

正确的反应很无聊:找到你装的那一份,确认版本,升级它。

无聊的事情,往往才是真正起作用的事情。

真正不正常的,是另一件事。

为什么偏偏是这几个

很多人照着教程装的 filesystem、fetch 服务器,用的就是这套参考实现。

参考实现有一个特殊的位置。

它不是某家公司的商业产品,也不是谁精心加固过的生产部署。

它是"大家都先从这里开始"的那一份代码。

于是它被复制进无数篇教程、无数份配置、无数台电脑。

它的 bug 也就跟着走得很远。

这不是在指责谁。这只是参考实现的物理规律:被抄得越多,修复就越需要每个抄过的人自己去领。

默认状态,是装完就忘

大多数人装 MCP 服务器的过程是这样的:

这就是默认路径。

它没有错,只是它默认你装下的东西永远不会变旧。

而代码一定会变旧。

你没有主动检查的东西,并不是安全的东西,只是你还不知道它的状态。

为什么这次你收不到提醒

据官方 release 说明,TS 服务器在 1.0.0 从日期版本改成了语义版本。

这带来一个很具体的坑。

在包管理器眼里,2.0.1 比 2025.x、2026.x 这样的日期版本"更小"。

所以如果你装的是日期版,它会觉得你已经是最新的了。

它不会提示你。

你得自己显式指定版本:

npm install @modelcontextprotocol/server-filesystem@2.0.1

换句话说:这一次,升级不是一个会自动发生的事件,而是一个需要你主动做出的决定。

这次修了什么

不需要读懂每一条公告的细节,你只需要知道自己用了哪一个、该升到哪一版。

1) server-filesystem → 2.0.1

官方称影响 1.0.0 到 2.0.0,以及日期版到 2026.8.31 为止。修复内容:

2) server-everything → 2.0.1

官方称影响 1.0.0 到 2.0.0,以及日期版 2025.9.24 到 2026.8.31。HTTP/SSE 传输以前会发 Access-Control-Allow-Origin: *,也不检查 Origin。官方的说法大意是,这样你访问的某个网页就可能调用它的工具(比如 get-env)并读到结果(GHSA-mvf5-2qqv-rg3c)。

3) mcp-server-fetch → 2026.10.24

官方称影响 2026.10.19 及之前的版本。修复内容:

自查清单

下面每一步都只是检查和升级。

如果你看完这份清单,发现自己根本说不出装了哪些服务器,这本身就是最重要的检查结果。

顺带一提

据官方说明,v2.0.0 在 10 月 19 日发布,把全部参考服务器重构到新规范(2026-07-28 这一版),同时仍然照常响应旧版客户端。

所以这次升级,大多数情况下不需要你同时换掉客户端。

最后

AI 工具越多,你装进自己电脑里的东西就越多。

每一个都是一份没写在纸上的承诺:你会在它变旧的时候想起它。

大多数人不会。

不是因为懒,而是因为没有人把"回头检查"当成一件需要被决定的事。

在工具越装越多的时候,你的注意力就是最后一道版本控制。

今天就把那份配置打开,看一眼。

来源:v2.1.0 Release;v2.0.0 Release;GHSA 安全公告。受影响与修复版本以官方 Release 和各 GHSA 为准;Windows 上的 filesystem 修复官方写为部分修复;本文只列自查项,不涉及任何利用方法;自查清单为作者整理。