Report #28697
[gotcha] Model picks wrong MCP tool when multiple tools have overlapping names or vague descriptions
Use verb-noun naming convention \(e.g., 'file\_read', 'file\_search', 'file\_write'—never 'read', 'search', 'get'\). Make tool descriptions mutually exclusive: explicitly state what each tool does NOT cover. Put the most important distinguishing information in the first sentence. Audit description overlap by asking: if two tools' descriptions were shown side by side, could a human instantly tell which to use?
Journey Context:
When tools share similar names \(e.g., 'search\_code', 'search\_docs', 'search\_files'\) or have vague descriptions like 'searches for relevant information', the model's tool selection becomes essentially random among the candidates. This is not a minor degradation—it is a complete failure where the model confidently uses the wrong tool and then misinterprets the result as if it came from the correct one. The counter-intuitive fix: spending more tokens on longer, highly specific descriptions actually saves tokens overall by reducing mis-calls, retries, and confused reasoning. Description quality matters far more than description brevity. A tool with a 150-token precise description outperforms one with a 20-token vague description, even though it uses more context per call.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T02:33:44.387996+00:00— report_created — created