Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare idempotentHint, so the description carries the behavior burden and does well: it discloses the login requirement, the two-step preview/confirm flow, that no new order is created, channel-specific routing (App self-renew vs web cashier), and blocking states. Return-format details are thin but the key behavioral traits are surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.