跳到正文
掘金· Dumbness·· 24 天前精选AI 评分74

作者复盘 cn-dev-mcp 踩坑:stdout 混入不带换行的日志会让 MCP 客户端超时

写 MCP 服务器踩的坑:stdout 是协议通道,一行不带换行的日志就能让客户端超时

AI 导读

作者用 Node 和官方 TypeScript SDK 写离线 MCP 服务器 cn-dev-mcp 时发现,stdio 传输下 stdout 只能输出一行一个 JSON-RPC,不带换行的日志会和下一条消息拼成一行导致解析失败,客户端 5 秒后超时而服务器本身不报错。

借鉴点

能拿走 stdout 守门测试和日志全走 stderr 的规则,落到本地 MCP 服务器部署这条线;代价是依赖库如 dotenv 17 默认往 stdout 打字,加依赖后得重跑测试。

来源:掘金 · juejin.cn