Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses the async/long-running nature, timing windows (30-90s for first prices, 2-10 min to reach verified rates), and the semantic difference between preliminary and bindable figures. This is exactly the context annotations (readOnlyHint=false, openWorldHint=true) cannot convey. The unchanged-vs-changed re-call rule slightly softens idempotentHint=false, but it describes genuine side-effect behavior, so it is not a contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.