Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description adds concrete behavioral context: execution is synchronous, task support is forbidden, and the returned JSON is internal state with specific instructions on how to present results to the user (use assistantSummary, avoid raw JSON, suggest next actions). This significantly enhances the agent's understanding of expected behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.