Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only give the generic flags (readOnly=false, destructive=false, openWorld=false, idempotent=false); the description goes well beyond them by disclosing the single-SMS side effect and the 60-second dedupe window that returns the same verification_id without a new SMS. It also discloses the anti-enumeration property (identical response whether or not the number is known), which is real behavioral information an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.