Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, and the description adds substantial context beyond them: live OSV.dev/deps.dev data sources, hard caps of 150 packages and 400 advisories, refusal behavior with a plan for splitting into smaller calls, and the caveat that ranges are evaluated at their stated minimum version. It also discloses what the tool does not do (no transitive resolution, no lockfiles, no source scanning, no fixes), which is exactly the kind of scope boundary the 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.