Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds beyond annotations: it specifies that the check 'holds nothing, and charges nothing' and, critically, that an unreadable balance returns UNKNOWN rather than no, preventing false negatives from RPC issues. This is substantial behavioral context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.