Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the mutation safety profile, but the description adds critical non-obvious behavior: the return shape { fileId, uploadUrl }, the required PUT mechanics, the explicit warning that NO Authorization header must be sent to the short-lived pre-signed URL, and the post-upload wait step. This is exactly the operational context an agent cannot derive from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.