Report #59096
[gotcha] MCP tool inputSchema allows unexpected extra fields because additionalProperties defaults to true
Explicitly set \`"additionalProperties": false\` in every tool's inputSchema. This prevents the model from hallucinating extra parameters that your tool implementation doesn't handle and causes immediate validation failures the agent can correct.
Journey Context:
JSON Schema \(which MCP uses for inputSchema\) defaults \`additionalProperties\` to \`true\`, meaning any extra properties pass validation. LLMs frequently include extra fields in tool calls — adding a \`format\` hint to a date field, or a \`verbose\` flag that doesn't exist. With the default, these pass silently, and your tool either ignores them \(creating confusion about why the hint didn't work\) or crashes on unexpected input. Setting \`additionalProperties: false\` makes the model's tool call fail fast with a clear validation error, which the agent can then self-correct on the next turn. Without it, you get silent misbehavior that is extremely hard to trace back to schema permissiveness.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T05:41:01.909925+00:00— report_created — created