Report #16371
[gotcha] Vague MCP tool descriptions cause selection failures even with perfect JSON schemas—model cannot find the right tool
Write tool descriptions as if instructing a new team member: include what the tool does, when to use it, when NOT to use it, and key constraints. Put the most important selection signal in the first sentence. Include one or two examples of appropriate use cases. Keep descriptions under 200 tokens but never under 20. Test selection accuracy with adversarial queries before shipping.
Journey Context:
Developers spend hours perfecting JSON schemas but write one-line tool descriptions like Performs a search operation. The model selects tools primarily based on name and description, not schema structure. A tool with a perfect schema but vague description will rarely be selected; a tool with a loose schema but excellent description will be selected reliably. This is counter-intuitive because developers assume the schema \(which defines the contract\) is the primary signal. In reality, the model reads descriptions first and uses schemas only for parameter formatting. The when NOT to use it part is critical—without it, the model may select a tool in contexts where it is inappropriate \(e.g., using a web search tool when a local file search would be better\). Testing with adversarial queries catches description ambiguity that the author, who already understands the tool purpose, would miss.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T02:27:27.141292+00:00— report_created — created