Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, open-world, idempotent, and non-destructive behavior, and the description richly supplements them: it defines the three status outcomes, explains when result is absent, identifies result_hash as authoritative in too_large cases, and clarifies what not_found means. This is exactly the behavioral detail an agent needs beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.