Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint and openWorldHint already declare the safety/scope profile, so the description only needs to add context. It adds the breadth of data covered (all discounted weeks, availability, ten cheapest weeks, five biggest discounts, similar models), but nothing about auth, error behavior, or what happens with missing inputs — and much of the return content is already in the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.