The package parses Zod/JSON-Schema/OpenAPI → IntakeSchema IR and serializes IR → JSON Schema, but has no IR → Zod path. So an intake built from a JSON-Schema field set (e.g. an external adapter) can produce IR/JSON-Schema but not the live ZodType the MCP runtime validator needs (.safeParse, instanceof z.ZodObject for .partial()).
Add a symmetric ZodSerializer — the missing cell next to JSONSchemaSerializer — lossless for the validated surface (types, constraints, formats, required/optional, nullable, defaults, enums, nested objects/arrays).
The package parses Zod/JSON-Schema/OpenAPI →
IntakeSchemaIR and serializes IR → JSON Schema, but has no IR → Zod path. So an intake built from a JSON-Schema field set (e.g. an external adapter) can produce IR/JSON-Schema but not the liveZodTypethe MCP runtime validator needs (.safeParse,instanceof z.ZodObjectfor.partial()).Add a symmetric
ZodSerializer— the missing cell next toJSONSchemaSerializer— lossless for the validated surface (types, constraints, formats, required/optional, nullable, defaults, enums, nested objects/arrays).