Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safety profile (not read-only, not idempotent, not destructive); the description adds substantive facts the agent cannot get elsewhere: the URL expires in one hour, the caller must PUT raw bytes with a Content-Length header, and the returned file_id must be forwarded to process_images. It also notes the operation is free, which matters for an agent deciding whether to route a large file this way.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.