Report #35134
[gotcha] Agent misuses MCP tool despite correct JSON Schema — wrong parameters or wrong context
Write tool descriptions as if they are system prompts for the model. Include: \(1\) exactly when to use this tool, \(2\) when NOT to use it, \(3\) a concrete example of correct parameter usage, \(4\) common mistakes to avoid. Keep descriptions under 200 tokens but make every word count. A precise schema with a vague description performs worse than a loose schema with a precise description.
Journey Context:
Developers spend hours perfecting JSON Schema definitions — required fields, enums, patterns, min/max — then write one-line tool descriptions like 'Searches files.' The LLM uses the natural language description as its primary signal for tool selection and parameter filling. This is counter-intuitive for developers trained on strongly-typed APIs where the schema IS the contract. For LLMs the description IS the contract. A tool with a perfect schema but vague description will be selected at the wrong time and called with wrong parameters. A tool with a loose schema but a precise description that includes examples and anti-patterns will be used correctly far more often. Test your tool descriptions by checking whether the model selects the right tool from a set of similar ones — that is the real acceptance test.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T13:26:50.465165+00:00— report_created — created