Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose that results are returned in both USD and TWD, which is genuine output behavior, but it says nothing about whether live pricing is used, pricing staleness, required auth, or rounding/currency-conversion assumptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.