Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare non-read-only, non-idempotent, non-destructive; the description goes further by disclosing side effects (sends exactly one SMS), concrete rate limits (1/min, 3 per 30 min per phone), and the exact error and recovery field (rate_limited with retry_after). That is behavior an agent must know before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.