Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the bar is lower, and the description still adds real behavior: it blocks for up to 30 seconds, it is cursor-driven via a prior message ID, and it silently yields nothing for paused or pending numbers. What it does not disclose is what the call returns on timeout versus on message arrival.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.