Report #44028
[gotcha] LLM calls the wrong MCP tool or fails to call any tool when multiple tools have overlapping or vague descriptions
Write tool descriptions as if they are few-shot prompts for the LLM. Include the 'when to use this' vs 'when not to use this' explicitly. If two tools overlap \(e.g., search\_code and read\_file\), differentiate them clearly in the first sentence of the description.
Journey Context:
Developers often write tool descriptions for human developers \(e.g., 'Executes a search'\), assuming the LLM will infer the context. LLMs rely heavily on the tool name and the first sentence of the description for selection. If search\_code and search\_files both say 'Searches the codebase', the LLM will guess, leading to reasoning loops where it tries one, fails, tries the other, fails.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T04:22:21.098700+00:00— report_created — created