Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (destructiveHint=false, idempotentHint=true, readOnlyHint=false), and the description adds genuinely new behavioral facts: it is a partial update where null preserves existing values, and the response includes an Undo path. It stops short of describing what happens on an invalid setId or stale idempotencyKey, which is the remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.