Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations' read-only/destructive flags, the description discloses important behavior: unaccepted fields or unrepresentable values are refused rather than silently dropped, and guesses or plausible defaults are forbidden. This gives the agent a clear model of the tool's rejection behavior, though it does not describe persistence, reversibility, or success returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.