Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, and idempotent, so the safety profile is covered. The description adds genuinely useful behavioral context beyond them: the source is public price feeds, results are cached for 60 s (implying staleness), and the result carries a signed receipt (verifiability). It stops short of stating rate limits or error behavior for unknown symbols.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.