Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior, so the description is free to add value elsewhere. It discloses result ordering, the meaning of activated_only, and the fields each thread carries (anchor, version, preview, agent_activated) — useful behavior beyond the structured metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.