Report #70049
[tooling] Writing tool descriptions for human readers instead of LLM decision-making causes poor tool selection and wasted tokens
Lead descriptions with the exact verb-noun pattern the LLM should match \(e.g., 'search\_codebase:'\), keep under 100 tokens, and duplicate critical schema constraints in the description text itself as some clients flatten the schema field
Journey Context:
Developers write verbose, marketing-style descriptions \('This powerful tool enables comprehensive analysis of...'\) thinking more context helps, but LLMs use descriptions as semantic matching vectors for tool selection. Excess tokens dilute the signal. The critical insight is that some MCP clients \(especially older OpenAI function calling implementations\) ignore the structured schema field and only pass the description to the model, making it mandatory to embed required parameters and types in the description prose. Additionally, starting with the tool name as an action verb helps the LLM's pattern matching. The 100-token limit aligns with OpenAI's observed performance drop-off in tool selection accuracy.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T00:09:59.932522+00:00— report_created — created