Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the bar is lower. The description still adds real value beyond that: it discloses the resolution of defaults/exclusions/dependencies, the valid=false contract, and the concrete error codes (unknown_option, dependency_unmet) and warning code (exclusive_conflict) that make the result actionable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.