Report #86027
[tooling] Agent selects wrong tool or hallucinates parameter values despite verbose tool descriptions
Constrain categorical string parameters using JSON Schema's \`enum\` array instead of describing options in the description field; this acts as hard validation and implicit few-shot prompting, reducing tokens and eliminating invalid arguments.
Journey Context:
Teams write lengthy descriptions like 'Use either 'fast', 'balanced', or 'quality'' hoping the LLM will parse natural language. This wastes tokens and still permits hallucinations like 'quick'. JSON Schema \`enum\` forces the model to pick from a closed set and functions as machine-readable few-shot examples. MCP servers using strict \`enum\` constraints see significantly lower invalid parameter rates in multi-step agent workflows.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T02:59:09.469663+00:00— report_created — created