Report #78553
[tooling] Agent hallucinates parameters or uses wrong enum values for MCP tools
Add explicit 'description' to every JSON Schema property, use 'enum' for fixed values instead of describing them, and set 'additionalProperties: false' to prevent hallucinated fields.
Journey Context:
Developers write detailed descriptions at the tool level \('Searches Slack...'\) but leave properties as bare \`\{'type': 'string'\}\`. The LLM invents fields like \`query\_type\` or \`search\_type\` because it wasn't told the exact schema. The fix is strictness: every property needs a description explaining its purpose and valid values. For categorical values, \`enum\` arrays force exact matches better than prose descriptions. \`additionalProperties: false\` is critical—it tells the LLM it cannot add extra fields, which prevents a common class of 'helpful' hallucinations where the model adds metadata it thinks is useful.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:27:00.456244+00:00— report_created — created