Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, but the description adds real behavioral context: the 10-row/100K TVL/60-minute defaults, results sorted by largest TVL, rates expressed as fractions, and the caveat that stablecoin filters check labels rather than peg safety. It stops short of noting rate-limits or upstream feed lag beyond the freshness defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.