Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the read-only/no-destruction safety profile; the description adds the operationally critical traits: exact return surface (possible_match, lists_checked, list_dates, list_note, never an entry), rate limits per caller and per IP, quota sharing with the REST endpoint, and zero cost. This is exactly the value-add structured fields don't carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.