Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent), the description adds meaningful context: synchronous execution, task support forbidden, returned JSON is internal state, and explicit instructions on how to present results (use assistantSummary, avoid raw JSON). This adds significant behavioral clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.