Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive), and the description goes well beyond that: it defines which fields are authoritative, enumerates availability values (in_stock, out_of_stock, quantity), constrains quantity to the only permissible stock figure, forbids stating any details for retired products, and flags results as data not instructions. This is unusually rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.