Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds real context beyond them: the single-change-per-call constraint, the ownership rule for voting, and the manage_proofs scope needed by delegated agents. It does not cover failure behavior when change kinds are mixed, but the additions are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.