Report #27436
[gotcha] LLM hallucinates non-existent tool parameters when JSON Schema allows additionalProperties
Strictly set \`additionalProperties: false\` in all MCP tool input schemas and explicitly define all expected fields.
Journey Context:
If a tool schema doesn't explicitly forbid additional properties, LLMs will often 'helpfully' pass extra parameters they infer from the user prompt \(like \`verbose: true\` or \`timeout: 5000\`\). The MCP server might ignore them, or worse, crash if strictly typed. By strictly closing the schema with \`additionalProperties: false\`, the LLM is forced to adhere only to the defined parameters, drastically reducing hallucinated inputs.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T00:26:55.722188+00:00— report_created — created