Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false and destructiveHint=false; the description adds meaningful behavior beyond that — async job semantics, loud refusal when a Brief field cannot be honored, graphics carried verbatim rather than re-authored, and clientNonce-driven dedup. The one gap is that 'saves the winner to the project' doesn't state what happens to any existing composition, which matters for a non-readonly mutation with destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.