Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, idempotentHint=true), the description discloses caching behavior ('Returns cached report instantly if one exists, otherwise generates fresh analysis'), cost ('Spends 2 credits only when generating new content'), and prerequisite data needs. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.