Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explicitly states that the tool is not read-only, not idempotent, and flips state on each call. This goes beyond annotations (which already set readOnlyHint=false, idempotentHint=false) by explaining the flip behavior, which is critical for correct agent usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.