Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate not readOnly, not idempotent, not destructive, which is somewhat contradictory (marking read is idempotent, but annotation says false). The description adds the behavioral nuance of timing (after action, not first sight), which is valuable. However, it doesn't mention that marking read is irreversible per se or what happens if called again. There is a minor inconsistency: readOnlyHint false implies mutation, but no details on side effects beyond the unread queue.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.