Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so safety is covered; the description still adds real context the annotations do not carry — that the call is free, that it can long-poll up to 25 seconds, and that `data` is populated only once the job completes. It stops short of describing failure/partial job states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.