Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds substantial behavioral context: data returns exactly as stored in snake_case, the summary strings are not scoring criteria, no key is guaranteed present, and it explains how to interpret outreachTemplate personalization. This goes well beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.