Report #100175
[tooling] How do I write MCP tool descriptions that agents actually select and use correctly?
Treat the tool description as the only UI the model sees. Include a one-line capability summary, explicit when-to-use and when-not-to-use guidance, parameter descriptions with units/enum values/examples, and a concise return-value contract. Use action-oriented, consistently-prefixed names \(e.g., github\_create\_issue\). Avoid generic phrases like 'useful utility' that every tool has.
Journey Context:
Foundation-model agents choose tools and construct arguments based almost entirely on name, description, and inputSchema. Empirical analysis of 856 MCP tools found 97% of descriptions contained at least one smell and 56% failed to state their purpose clearly; fixing smells improved task success by a median of ~6 percentage points. The trade-off is that richer descriptions consume context window, so augment only high-impact components and prefer compact, high-signal phrasing. Concrete examples in parameter descriptions reduce hallucinated enum values and wrong units.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-01T04:47:00.313763+00:00— report_created — created