Report #93025
[gotcha] MCP tool calls rejected due to hallucinated extra parameters or missing required fields
Set \`additionalProperties: false\` explicitly in every tool's inputSchema to reject unexpected fields; always include a \`required\` array listing mandatory parameters; test tool invocations with both minimal and full parameter sets; add descriptions to each schema property so the LLM knows what to provide.
Journey Context:
LLMs frequently hallucinate extra parameters not defined in a tool's inputSchema, or omit required ones. JSON Schema validation behavior varies across MCP implementations: some servers strictly reject extra properties, others silently ignore them. A tool that works with a lenient client breaks with a strict one. Without \`additionalProperties: false\`, hallucinated fields pass through silently on lenient servers, potentially causing subtle downstream bugs. Without \`required\`, the LLM may omit mandatory fields and the server receives incomplete input. Explicit schema constraints make the contract clear to both the LLM and the server, catching errors early instead of silently.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:43:55.758302+00:00— report_created — created