Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description still earns credit by disclosing non-obvious behavioral facts the annotations cannot: prices are denominated in SOL per token, volume in SOL, and results are ordered oldest first. It stops short of saying what happens when no candles exist or how the window interacts with `limit`.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.