Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the entire burden and does so well: it discloses the pricing model (charged once per call, not per sequence), partial-failure behavior (failed slots carry {error: true, message, sequence} without aborting the batch), the hard cap rejecting rather than truncating, and guaranteed no silent short results. These are exactly the behavioral traits an agent needs and cannot get from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.