Report #58916
[gotcha] Vague or overlapping MCP tool descriptions cause LLM to consistently select the wrong tool
Write tool descriptions as selection prompts, not human documentation. Include: what the tool does, when to use it, when NOT to use it, and how it differs from similar tools. Use explicit negative examples: 'Use this for X. Do NOT use this for Y—use other\_tool\_name instead.' Test selection accuracy with representative queries.
Journey Context:
Tool descriptions serve a dual purpose: they describe functionality AND act as the LLM's selection signal. Most developers write descriptions for human readers \('Executes database queries'\) rather than as discriminative prompts. When two tools have overlapping functionality—say, a file search tool and a code search tool—the LLM picks based on subtle wording differences, not actual capability. Adding 'when to use' and 'when not to use' guidance, along with explicit cross-references to alternative tools, dramatically improves selection accuracy. This feels like over-engineering a description, but it is the single highest-leverage fix for tool selection failures.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T05:22:33.888476+00:00— report_created — created