Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the bar is lower, yet the description adds real context: atomicity, that invalid graphs are rejected before persistence, and that active-lead safety is still enforced by the backend. It stops short of describing concurrency/rate-limit behavior or undo semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.