Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses one behavioral trait—the filtering of zero balances ('Returns all non-zero balances')—but omits other important behavioral context such as authentication requirements, caching behavior, or whether the balance is real-time versus cached.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.