Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly hint, the description adds important behavioral details: it returns both price and stock, clarifies the currency units (rial vs. toman), and explains the meaning of null (quote, not free). These disclosures exceed the annotations' basic safety flags and prevent misinterpretation of the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.