Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description still adds real behavior: it refuses to mix incompatible products or representative scenarios, which tells the agent failure conditions the annotations do not. It does not say what an 'incompatible' pairing produces or how errors surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.