Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, closed-world), and the description adds real behavioral context: values are exact-match keys, not merchant paraphrases; `complete: false` signals no published list; and empty values are not evidence of absence. That is substantive beyond the annotations, though auth, rate limits and ordering behavior are left to the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.