Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds critical behavioral context: the polling interval, the terminal statuses, the handling of intermediate responses (retry_after_seconds, next_action), and the preference for structured_result. It also includes a concrete GET URL example, fully disclosing the interaction pattern.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.