Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description still adds real behavioral context: pricing ('free') and error semantics ('returns isError... not charged'), plus what the two modes return. It does not discuss pagination or rate limits, but the mode behavior and charge model are useful additions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.