Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, it discloses two non-obvious behaviors: SSE does not announce work state changes, and a service acknowledgement is not proof of a correct result or exactly-once external execution. These are valuable caveats that shape agent expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.