Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say readOnlyHint=false, idempotent=false, destructive=false; the description adds materially: no credit spend, consumption of a job slot against the plan's concurrent-operation limit, asynchronous immediate return, the exact completion condition (output.render_id match plus output_current true), and the trap that an older URL is not completion. This is exactly the context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.