Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the description is not required to restate it. It instead adds genuinely useful behavioral context: nulls mean missing or withheld and never zero, date params filter observation dates, pagination continues via next_offset, and each value carries its unit, source path, date, and restrictions. That is real added value beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.