Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false), the description discloses auth requirements, privacy behavior (name/email never surfaced), content validation that refuses emails, phone numbers, links and @handles, and the crucial full-replacement semantics of omitted fields. The replace behavior is exactly the kind of trait annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.