Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses type-dependent behavior, variable naming hint ($ prefix), and return type. However, it omits side effects (e.g., whether variable must exist), error conditions, and permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.