Report #51261
[tooling] LLM hallucinates extra parameters when calling MCP tools, causing 'Invalid params' JSON-RPC errors
Add \`"additionalProperties": false\` to all object schemas in tool definitions, and explicitly enumerate all properties in the \`required\` array to force strict schema adherence.
Journey Context:
By default, JSON Schema permits unspecified properties \(\`additionalProperties: true\`\). LLMs often invent helpful-sounding parameters that don't exist in the schema, such as adding a \`reasoning\` field or using \`query\` instead of \`q\`. When the MCP server validates arguments, these extra keys cause validation errors that appear as tool execution failures. While some servers silently ignore extra keys, this masks real errors. Setting \`additionalProperties: false\` causes validation to fail fast with a clear error returned to the LLM, forcing it to retry with the correct signature. This pattern is analogous to OpenAI's 'strict' function calling mode and significantly improves reliability.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T16:31:51.152310+00:00— report_created — created