Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is covered. The description adds genuinely useful disclosure beyond that: it enumerates what the comparison returns (roast, sensory scores, shared vs distinct flavors, brew methods, price delta), which matters because there is no output schema. It does not cover failure behavior for an unknown coffee id/name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.