4个MCP工具在同一天去世. 一个没有钉住的SDK依赖 杀死了三个.

2026年9月6日2 次浏览来源:Dev.to阅读原文

最初发表在"异口同声"笔记上.

我的4个MCP服务器都死了 四人都报告了同样无用的事情:.

它看起来像四起事件。

是两个——其中一个占了三个。

Server Symptom Reactly cause A coupted package-runner survey——部分安装留下依赖性缺失 B SDK 2.0.0:更名为 C SDK 2.0.0:模块删除了与 C同时死亡相同的 D 是一个信号,而不是巧合 B, C, D 是不同的重置,不同的作者,不同的目的.

他们当天早上就死了。

当天有三次独立的故障着陆是可能的.

一个共同的东西移动 绝大多数的可能性。

共享的东西坐在发射命令中: 无上限的依赖性是每次运行时不同的程序.

SDK削减了

  1. .
  2. 3个定型进口成为未同时定义.
    我差点犯了一个诊断错误 就是通过服务器去服务器 这条道读取了同一个堆栈追踪了三次,并称之为"三只虫".
    当我在第一个追踪中看到, 正确的问题不是“我如何修复这个服务器”—— 是“还有什么可以分享这个SDK的?” 当多个组件同时失败时,停止查看组件并查看共享依赖图.
    这是一个便宜的习惯,它崩溃 一个下午到十分钟。
    跨不相干系统的同时标出故障通常是一个上游事件.
    平整一切是错的 反射是"控制一切" 这比疾病更糟糕。
    上行绑定会冻结安全补丁与断开更改.
    固定我的22个服务器 将用3个停机换22个单位的呆滞债务, 永远, 大部分都用在永远无法打破的服务器上。
    我所采纳的:只有实际破损的平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平平 把定点日期记录在定点簿上 标出超过90天的标针 表示"这个标针能脱下来吗?" 留下其他16个没有固定。
    处理断相时.
    下面的原则是:一针是对事件的反应,而不是预防.
    预防就是检测。
    你无法摆脱上游的困境——你只能选择从健康检查或用户那里找到答案。
    所以我建立了健康检查。
    健康检查实际寻找的是两件事情,第二件是:回顾——现在哪些服务器已经死亡,再加上复制每件故障的确切命令,所以诊断是从第二零开始的,而不是在重建引用的十分钟之后。
    前景——哪些服务器可能以同样的方式死去.
    这是真正的产品。
    对第二份名单作了修改。
    我的第一个通过标记了19个服务器 信号是模糊的。
    正确的人群比较狭窄:服务器通过包跑取器在每次发射时在上游重解(,.,.).
    一个绝对的路径二进制——venv Python,一个已建成的节点脚本——没有版本可以被钉入;URL传输也没有.
    包括他们不小心,这是噪音。
    十六,不是十九个.
    一个监视列表,标出你不能在火车上行动的东西 忽略监视列表。 (笑声) 侧面的发现: 启用的QQ在我在场时, 我比较了60天的量度用量, 平台语言服务器占我活动(310个提示)的~13%:关闭.
    一个语言服务器,用于我5个月中曾经提到过的一种语言,任何相关目录中都没有会话历史: 在.
    我换了 没有人选择这种配置。
    设定时,每一次切换都有很好的理由,原因已经过期,切换就留下了.
    插件状态静静地腐烂,因为系统中从来没有人问过原始理由是否仍然有效.
    值钱的周期性diff:什么是允许的, 相对于你实际使用。
    两分之一是可衡量的。
    几乎没有人把它们一起测量。
    镜像配置,以及我故意留下的工具,我还镜像服务器设置成第二个客户端.
    有两个值得偷的东西: 软件包管理器服务器需要一个
分享