Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, non-destructive, and openWorld, so the safety profile is settled. The description adds real behavioral context beyond that: the tool first resolves MX hosts to IPs, meaning it implicitly depends on MX records existing and on live DNS queries to third-party blocklists. It omits caching behavior (implied only by the force_refresh param) and per-blocklist query limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.