Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint, openWorldHint), so the bar is lower, and the description still adds real behavior: facets carry live per-option result counts, offset paginates in fixed increments of 20, and a no-match query returns a well-formed empty result rather than an error. That no-error behavior is genuinely useful and not derivable from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.