Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations (readOnly/idempotent/non-destructive) by disclosing real behavioral traits: results are size-bounded rather than id-bounded, overflow lands in omittedForSize, unknown ids land in notInDataset with a reason, malformed ids are rejected outright, and duplicate ids are collapsed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.