Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (not read-only, not destructive, not idempotent, closed-world). The description adds important behavioral context beyond annotations: labels apply to every message currently in the conversation, both received and sent, and future messages are excluded. It does not cover permissions or return behavior, but the annotations and output schema reduce the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.