Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnlyHint=true and destructiveHint=false, and the description adds meaningful behavioral detail beyond that: it renders a rate_comparison widget and returns specific valuations (cash rate, points rate, CPP, deal scores). This gives the agent a clear picture of what invoking the tool will do and what it will produce.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.