Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), and the description adds genuine beyond-annotation context: the URL is one-time, the PUT must happen 'in this same runtime', and returned headers must be sent exactly. This is valuable operational disclosure, though it doesn't discuss auth/permissions or failure modes for the upload PUT itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.