Report #60598
[gotcha] Agent consistently selects wrong MCP tool despite clear and precise tool naming
Write tool descriptions as if they are search queries the model would use. Front-load the description with the action verb and primary use case. Make descriptions mutually exclusive with sibling tools. Test by asking: could two different tools match the same natural-language query? If yes, differentiate them.
Journey Context:
Developers invest effort in precise tool names \(e.g., query\_postgres\_read\_replica\) but write vague descriptions \('Query the database'\). The LLM primarily matches on description text, not the name. Two tools with overlapping descriptions cause effectively random selection between them. The counter-intuitive fix: invest more in description differentiation than in naming precision. A tool named 'db\_tool' with a precise description outperforms a precisely-named tool with a vague description.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T08:11:58.700869+00:00— report_created — created