Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite strong annotations (readOnly, idempotent, non-destructive), the description adds meaningful behavior beyond them: investments use the 'last quote,' amounts are 'restated at today's rate,' and unconvertible items are explicitly listed. This gives the agent an accurate model of what the tool actually does with data, which annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.