Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so safety is covered; the description adds genuinely new context the annotations can't express — the cost model (free vs $0.001) and the fact that output is truncated to 500 characters, which is critical to know before relying on it for extraction. It stops short of describing rate limits or fetch failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.