Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (idempotent, non-destructive, open-world), the description discloses the auth requirement and the exact failure shape including `retry_recommended` and `retry_after_seconds`, which is materially useful for error handling. It does not say what happens when a product is already watched, despite the idempotent hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.