Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is fully covered structurally. The description adds nothing on top: no pagination behavior, no filtering semantics, no indication of result size or shape for a free-form 'query' object. It repeats 'GET /api/contacts' twice, which conveys no additional information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.