Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description goes beyond by detailing authentication optionality, tally hiding logic, and error conditions (post doesn't exist or isn't a poll). It adds valuable context not captured by annotations, and there is no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.