Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/destructiveHint annotations, the description adds meaningful behavior: the guarantee that 'nothing in the photo changes,' the 4096 px cap, the up-to-4x scale, and the credit cost from the user's Pixly balance. It does not mention async behavior or failure modes, but the output schema covers return expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.