Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the description only needs to add context. It adds valuable behavioral traits: the receipt is compact and redacted, returns only setup status/compose readiness/search-rail readiness, and never returns raw private data. It also discloses the guarded-write versioning purpose of profile_version_updated_at, which goes beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.