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 decision semantics ('REFUSED means do not offer it', OFFER_* refuse things the plan lacks), which is useful, but since an output schema exists the return shape is already handled and no auth/rate-limit context is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.