Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, so the bar is lower. The description adds useful context by disclosing that the response includes the product's reward, which is not implied by the annotations or schema. It says nothing about behavior on a missing/invalid ID, but for a simple read that gap is minor.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.