Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive and open-world traits, so the bar is lower; the description still adds real value by disclosing the hard 2 MB payload ceiling, the absence of JS rendering, and the shape of the rendered output. It omits failure behavior (timeouts, non-HTML content, HTTP error handling), which would matter for a network fetch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.