Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses the polling behavior, the meaning of keep_polling and preview_url, the self-refreshing progress card, and the special wait=false mode. These are behavioral facts not available from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.