Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, yet the description still adds material context: the $1,000 liquidity floor, why it exists (round-trip quotes on dead curves look fine), that errors surface as isError and are not charged, and that calls are free. Only missing pieces are rate limits and any upstream throttling behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.