Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses the return shape (start/end in seconds and h:mm:ss, a quote, match quality) and the asynchronous polling behavior: if the search is still running the response says so and you should call again in a minute. That polling contract is exactly the kind of behavior annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.