开发首个MCP Server的踩坑实录:两个隐蔽Bug让工具直接失效
Grand_Day_5286 · reddit · 2026-08-02
一位开发者分享了构建并发布 scorm-mcp-server(将 HTML 打包为 SCORM 供 LMS 导入)的经验,详细记录了两个导致工具静默失效的隐蔽 Bug:
- ZodObject 陷阱:如果在使用 SDK 注册工具时传入 z.object() 而非原始 shape,会发布空的 JSON schema,导致严格模式的客户端直接剥离所有参数。建议开发者对发布的 schema 属性数量进行测试。
- 配置变量未展开:在 MCPB manifest 中使用 ${HOME} 作为默认路径,若用户安装时留空,客户端会原样传递未展开的模板字符串,导致路径报错。建议服务端自行处理变量展开并设置默认值。
此外,作者还总结了其他实战经验:加入无参数的 selftest 工具以便快速排查故障;保持 stdout 为纯 JSON-RPC(任何多余的 console.log 都会导致客户端挂起);以及确保 fetch 的超时设置覆盖整个响应体。
「编程与Agent」频道最新
- 行业苛求 Agent 零失误,却无视其已破解复杂难题 — dbreunig · 2026-08-02
- Rust 新版性能起飞:Clippy 提速超 20% — charliermarsh · 2026-08-02
- LLM流式输出UI性能优化:少重绘、轻节点、按需交互 — dotey · 2026-08-02
- 用Roblox云API将Three.js场景一键发布为Experience — rms80 · 2026-08-02
- 开发者吐槽:每周换新项目的 Codex 视角 — haydendevs · 2026-08-02
- 告别 LLM 幻觉:开源工具 DuckTap 从 OpenAPI 规范确定性生成 MCP Server — zanni098 · 2026-08-02