Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, open-world behavior, and the description adds substantial context beyond them: upstream source (Frankfurter/ECB reference rates), update cadence (~16:00 CET working days), coverage window (since 1999), cost (free), and error semantics (isError with message for invalid input or upstream failure, not charged). This is exactly the behavioral disclosure the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.