Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint, destructiveHint=false), so the description is not obligated to restate them. It instead adds real behavioral context: the archive is returned as original official rows with no derived sentiment or indicator classification, and non-USD currencies return subscription_required rather than data. That auth-gating behavior is valuable and not captured by any structured field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.