Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=false and destructiveHint=true already signaling mutation, the description adds concrete behavioral context: the upsert semantics, the exact fields changed on update, and that it returns the saved list. It doesn't cover permission requirements, but annotations already carry the safety signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.