Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, openWorldHint=true, destructiveHint=false), so the bar is lower. The description adds real value beyond that: the 15-minute expiry, the presigned PUT mechanism, and the downstream use of the returned path. It still omits auth requirements and size/type constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.