Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, and the description adds real value on top: the data sources ('reads live OSV.dev and deps.dev records'), the output formats produced ('Markdown, CSV and PDF reports'), and the operational boundaries (exact version required, no transitive deps, no code scanning, only npm/PyPI). That is behavior an agent could not infer from the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.