Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations covering idempotency (idempotentHint=true) and safety (destructiveHint=false), the bar is lower, yet the description still adds meaningful detail: the api_key is disclosed only once and must be used as 'Authorization: Bearer' thereafter, and it explains both the state progression and the recovery path. It stops short of stating auth prerequisites or polling rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.