Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. The phrase 'Current balance' implies a read-only operation, but it does not explicitly state that it has no side effects, nor does it mention api key validity or error behavior. It provides minimal but acceptable transparency for a simple getter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.