Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the read-only/open-world safety profile, and the description adds substantial operational context beyond them: cost of $0.002 USDC per successful call via x402 on Base/Solana/Arc, failed calls not charged, and that data refreshes on CoinGecko's own schedule. The row-level structure clarification (one exchange pair per row) also prevents a common misread of the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.