Report #96265
[gotcha] Model sends tool parameters that violate inputSchema, causing silent server-side failures
Validate input parameters server-side and return clear, actionable error messages. Make tool descriptions explicitly state required formats with concrete examples. Use enum constraints in JSON Schema to constrain values. Do not rely on the model to always produce perfectly schema-compliant input.
Journey Context:
The MCP spec defines \`inputSchema\` as a JSON Schema object describing tool parameters. In theory, the model reads this schema and generates compliant input. In practice, models frequently produce input that subtly violates the schema: wrong types \(string '5' instead of integer 5\), missing required fields, incorrect enum values, or malformed nested objects. The server then either rejects the call with an error \(triggering a retry loop\) or, worse, accepts the malformed input and produces incorrect results silently. The counter-intuitive lesson is that inputSchema is a hint to the model, not a guarantee. Server-side validation with clear error messages is essential, and tool descriptions should include concrete examples of expected input format rather than relying solely on the schema.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T20:09:48.399081+00:00— report_created — created