Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint and non-destructive behavior, so the bar is lower. The description adds genuinely useful context the annotations do not cover: returned amounts are bare numbers with no currency, and currency_code must be fetched separately. That is a meaningful behavioral caveat for an agent reporting values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.