Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only, idempotent, and non-destructive, so the description need not repeat that. It adds genuinely useful behavior beyond the annotations: the preset is 'immutable' and 'validated,' and the rendered HTML/CSS is intentionally empty in v1, which prevents an agent from expecting populated markup. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.