Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/non-destructive annotations, the description adds useful behavioral context: this is a polling tool and should be repeated until status='done'. It does not explain what happens on failure or timeout, but the output schema covers return values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.