Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false, destructiveHint=false, and idempotentHint=true, indicating a non-read-only, safe, and repeatable operation. The description adds value by specifying 'in-memory cache' and clarifying safety ('no YNAB data is modified'), which goes beyond annotations to explain scope and reassure about data integrity, though it doesn't detail side effects like performance impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.