Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does an excellent job: it discloses the async behavior (returns ID, not an immediate answer), the rate limit (5/hr/IP), the need to poll fetch_answer, and the variable response time (minutes, hours, or days). This is rich, actionable context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.