Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, yet the description still adds meaningful behavior: per-path independent success/failure, the BATCH_BUDGET_EXCEEDED failure mode, and the 8388608-byte total budget. This is exactly the kind of partial-failure semantics an agent needs before batching.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.