当工具模板使用 z.date() (Zod 4) 时,MCP 工具/列表会出现"日期无法在 JSON Schema 中表示"的错误
作者: brentshulman-silkline创建于 2026年9月15日更新于 2026年9月15日
会发生什么
MCP服务器在任何工具的输入方案包含“z.date()”字段时,都会失败“工具/清单”——客户端加载零工具”。 使用 “ [email protected]” :
触发: npx 触发. dev@latest mcp -! 连接到 ^ 工具获取失败 – 日期无法在 JSON Schema 中表示直接重复反对CLI:
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 打印 “%s\n”\ '{"jsonrpc":"2.0""id":1"方法":"初始化""参数":"{"2024-11-05""能力":{}"客户信息":{"名称":"p""版本:"1"? '{"jsonrpc":"2.0""方法":"通知/初始化"}"? '{"jsonrpc":"2.0""id":2"方法":"工具/列表""params":"" npx 触发器. dev@ 4. 6.0 mcp #- >"jsonrpc":"2.0""id":2""error":{"代码":-32603"消息":"日期不能在"JSON Schema"中代表"}}".
□ 预期
‘工具/list' 成功并日期字段序列化为 JSON Schema 字符串(例如:QQ"类型":"字符串","格式":"日期-时间"QQ"),匹配了Zod 3路径已经处理'z.date ()'.
□ 根源
在`trigger.dev/schema-to-json'中,`convertZod4Schema ()'(`packages/schema-to-json/src/index.ts')称`z4.toJSONSchema ()'没有`不代表'的选项,因此默认`扔'。 任何`z.date()'抛出`日期'不能在JSON Schema中表示,它中止了整个转换,并未能实现整个`工具/清单'响应。
□ 版本信息
- 破损:`[email protected]'(也在`main'上)。
- 著作:`4.5.16'、`4.5.0'、`4.4.6'。
□ 建议修正
传出`不代表:"Any"至`z4.toJSONSchema ()'如此不代表的节点发出"Q"并到达现有的"override"回调,再将"override"重写为"`{",格式:"date-time" Q. (很高兴打开公关内容来源: triggerdotdev/trigger.dev