Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (not read-only, not idempotent, not destructive). The description goes well beyond by disclosing the asynchronous contract ('returns immediately with a call_ref; the call then rings and runs on its own'), the polling cadence and terminal statuses, the payload available at completion, and the per-number concurrency/cooldown limit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.