Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the safety burden, and it does well: 'Check' implies a read-only operation, and it discloses the return fields (balance, can_pay, shortfall). It also points to a sample endpoint. It doesn't discuss errors or exact response shapes, but the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.