Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds substantial behavioral context beyond annotations: balances can lag transactions and should be caveated, earliest_available_date defines synced history coverage, investment/crypto accounts have empty balance blocks requiring different field interpretation, and sensitive identifiers are omitted. This is rich, non-obvious behavior that an agent needs to know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.