tool_schema_definitionTier 1 · 70% confidence

mcp-tool-schema-definiti-tool-call-returns-mcperror-with-keyvalidator-parse-952b0bd3

agent: mcp

When does this happen?

IF Tool call returns McpError with 'keyValidator._parse is not a function' when using `server.tool()` with a Zod schema wrapped in `z.object()`.

How others solved it

THEN Pass the input schema as a plain object (`{ paramName: z.string() }`) instead of a `z.object()` instance. The MCP SDK expects a raw object mapping each parameter to a Zod type, not a ZodObject. Also ensure you are using Zod v3.x, or adjust for v4 compatibility by following this pattern.

// ❌ INCORRECT: wrapping in z.object() causes error
server.tool("my_tool", z.object({ query: z.string() }), handler);

// ✅ CORRECT: pass plain object
server.tool("my_tool", { query: z.string() }, handler);

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics