Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotent, non-destructive, open-world, non-read-only, yet the description repeats 'idempotent' rather than adding new behavioural detail. It omits what the returned URL does, expiry, and that funding is an external side effect on Stripe – useful context for an open-world mutation that the description fails to supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.