Report #30485
[tooling] Agent ignores MCP tool parameters or hallucinates invalid arguments
Write tool descriptions using 'Given X, returns Y to Z' active voice pattern, and constrain critical string parameters with enum arrays rather than loose type definitions
Journey Context:
Passive descriptions like 'This tool searches the web' fail to signal to the LLM when to invoke the tool versus using internal knowledge. The 'Given/Returns/To' pattern explicitly frames the contract: what input is expected, what output is returned, and for what purpose. Additionally, developers often declare parameters as type: string without enums, inviting the LLM to invent values; providing explicit enums constrains the search space and reduces hallucination. This is hard-won from debugging trace logs where agents skip tools or pass 'latest' instead of valid version strings.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T05:33:17.606841+00:00— report_created — created