Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description reveals key behavioral details: it returns a checkout URL, payment is handled by Paddle in the browser, card details should never be shared in the tool, and several possible return states (already_free, already_owned, checkout_not_live) are disclosed. No contradiction with readOnlyHint=false or destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.