Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It helpfully discloses provenance behavior ('every rate carries its source URL and the date it was read'), which is real value beyond structured fields. It does not state read-only nature, caching/freshness semantics, or whether rates are live versus published snapshots.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.