Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the annotations: it explains the non-idempotent behavior concretely ('saving the same generation twice makes two frames, so do not retry a call that may have gone through'), the privacy default ('private to the account unless explicitly asked to share'), and the lifecycle limitation (no edit/delete tool). Annotations already flag idempotentHint=false, but the description adds actionable consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.