Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, non-idempotent, closed-world, so safety is covered. The description adds value beyond that with the duplicate-name failure mode and the cross-user visibility consequence of shared=true, which no annotation expresses. It stops short of describing the return value, but an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.