Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the description doesn't need to restate those. It adds valuable context: the operation is terminal ('void is the terminal non-destructive state'), cannot be applied to paid invoices, and no delete tool exists. It could have disclosed more about side effects (e.g., whether the invoice remains visible, whether lines are affected), but the provided context is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.