Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so safety is covered. The description adds the meaningful behavioral detail that the output is UTF-8 text, which tells the agent how to interpret the result; it stops short of stating what happens with invalid Base64 or non-UTF-8 binary bytes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.