Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations: it enumerates the full status set, warns that lookup_failed is not a clean result, notes rate_limited as a possible outcome, and discloses the one-hour caching/allowance behavior. These are behavioral traits the agent could not infer 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.