Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive). The description adds meaningful behavioral context: it classifies wallets, explicitly excludes operator wallets, and lists the specific return values. This goes beyond what annotations provide, though it does not discuss edge cases or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.