Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnly, idempotent, closed-world) by disclosing the 24-hour lifetime, that failures are terminal rather than transient, that sha256_hash/bytes mirror the stored values, that max_downloads produces downloads_left and consumes reads, and that no API key is required. This is exactly the operational context an agent needs and the annotations cannot supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.