Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds valuable state-machine semantics: queued/planning/generating/saving are in-progress, ready returns the saved result, failed means credits were returned. This tells the agent how to interpret outcomes, beyond what annotations provide. It doesn't cover polling frequency or timeouts, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.