Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered, yet the description adds real value: it discloses the update is silent (no push notification), that the value replaces rather than increments (idempotent, safe to repeat), and that 0 clears the badge. It stops short of mentioning auth requirements or rate limits, but the added behavioral context is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.