Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds genuinely new context: the required sms:read scope, the offset-pagination scheme, and the important caveat that provider acceptance is not proof of delivery (use delivered_at/carrier status). Return format is left to the output schema, which is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.