Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safe-read profile is covered by structured data. The description adds the 'card only' scope restriction, which is useful behavioral context, but says nothing about what happens with an invalid mail_id, whether a missing thread errors or returns empty, or how much message text is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.