Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, non-idempotent operation, so the safety profile is covered. The description adds genuinely useful context the annotations cannot: the human must complete payment and the agent must poll get_billing_status afterward. It does not mention URL expiry or what happens on repeat calls, which matters given idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.