Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (non-read-only, non-idempotent, open-world), so the bar is lower, yet the description still adds real context: the connection is left 'pending', payment confirmation happens only on Stripe by the human, and the returned token must be kept private. It also warns against repeated invocation. It does not say what happens if it is called repeatedly or how long the pending state lasts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.