Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile: readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description is fully consistent with these, adding only the HTTP method and endpoint path (GET /invoices/{id}/) while largely repeating the READ-ONLY flag. It adds no context about response contents, 404 behavior, or permissions, but for a trivial read with strong annotation coverage the bar is lower. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.