Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and idempotentHint=true. The description usefully adds that it never sends anything and that the user signs in their wallet, which explains why a non-read-only tool has no real side effects. It does not say whether the generated link expires or what happens if the offer is no longer open, which is the remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.