MCP 服务器静默失败实测:错误被当成功返回,1.x 版 print 还会吞响应
ShipItFrog · reddit · 2026-10-31
作者的第一版 MCP 服务器曾把「用户卡牌不存在」误报给 Claude——cards.json 解析失败时(哪怕只是一个 UTF-8 BOM,PowerShell 5.1 保存文件就会加)服务器返回空牌组作为正常结果,没有任何报错。为搞清 SDK 实际行为,作者在 1.30.0 和 2.2.0 上运行故意写坏的服务器并记录原始 JSON-RPC 流量:
- 返回 {"ok": false, "error": ...} 字典:两个版本都标记 isError: false,模型把错误当数据,报告成功——最常见陷阱,应改用 raise 工具错误
- CallToolResult(iserror=True):1.x 会丢弃标志,2.x 正常
- 未捕获异常的内部细节:1.x 直接发给模型,2.x 会遮蔽
- stdio 下约 9KB 的 print():1.x 会丢响应导致客户端超时
作者把这些检查做成 Claude Code 插件(skill + 只读子代理,输出文件/行号/引用代码):在去标签的故意写坏服务器上 4 轮共找出全部 56 个植入缺陷、零误报;两个真实服务器上 4 轮找出 17/18,1 个误报。每次运行约 1 美元,建议重要场景跑两次合并结果。目前仅支持 Python,仓库含完整测试日志。
「编程与Agent」频道最新
- 作者用 Claude 剪完整条 YouTube 视频,晒出成片 — prasenx · 2026-10-31
- 开源 PotionUI 0.0.18:一张 GPU 自建图/视频/音乐 AI 工作室 — 0roborus_ · 2026-10-31
- Vals 代码迁移榜:Sonnet 5.5 以 86.88% 夺冠,DeepSeek 只花 $1.76 — davidbau · 2026-10-31
- Teleport 挑战赛实测:AI 转译 NetHack 正确率 99.5% 但可读性骤降 — davidbau · 2026-10-31
- Mitchell Hashimoto 演示 Rex 浮动窗格,被解读为向 agentic「元 OS」落子 — dankaplan · 2026-10-31
- LLM-as-a-judge 位置偏差实锤:研究者提醒评测判官模型须全随机 — antoine_chaffin · 2026-10-31