Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnlyHint=true, idempotentHint=false). The description adds behavioral context beyond them: the payload comes back as base64 and a 'refused' outcome signals no retrievable media, which tells the agent how to interpret an edge-case result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.