Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false and openWorld=true, so the bar is lower; the description still adds real value by clarifying that nothing is charged until the Stripe page is completed, that the plan changes only then, and that the caller should retry the blocked action afterward. It does not disclose that repeated calls likely mint new links (idempotentHint=false) or what happens if the page is already on a plan.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.