Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds genuinely useful behavioral context by enumerating the returned payload (line items, totals, due and paid values) and mapping to the underlying endpoint GET /v2/invoices/:id, which an agent cannot infer from the annotations or the single-parameter schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.