Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the bar is lower. The description still adds real value: it discloses that data is served from stored SQLite content with no generation or refresh, and it explains the semantics of the sermon_aggregates_available flag, including that false makes digest counters placeholders.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.