Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare `destructiveHint=true`, so the agent knows this mutates state. The description adds genuinely useful side-effect context that annotations cannot convey: cancelling returns loyalty points. However, it doesn't state that 'use' is irreversible, whether both actions are idempotent, or what happens if the code has already been redeemed — gaps that matter for a destructive two-mode operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.