Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly=false, idempotent=true, destructive=false, openWorld=false); the description adds the genuinely useful traits: partial-update semantics (omitted fields kept, "" or [] clears), automatic reactivation of a paused plan, no quota, the returned payload including this week's progress, and the error contract (invalid_payload: <field>: <problem>).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.