Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly=false, destructive=false, non-idempotent), and the description adds substantive context beyond them: the account is created or a session established, the plan activates automatically once payment lands, and the call is free. It does not disclose failure behavior for an invalid or expired code, which for a non-idempotent account-creating call is the remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.