Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the analysis is static (source-only, no browser/JS rendering), lists the check set, and adds a real operational constraint ('5 free trial calls per signed wallet'). It does not say whether URLs are fetched, whether results include severity or line locations, or what a failed check looks like in the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.