Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only state readOnly=false, idempotent=false, destructive=false; the description goes well beyond that by disclosing the wallet-charging formula (quantity × ticket price), the failure modes (insufficient balance, sold out, registration closed), and the fact that the error payload contains a regional Paxaver top-up page. The financial-impact warning and the 'no per-student split' caveat are exactly the kind of context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.