Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe read-only nature is covered. The description adds valuable behavioral context: login required, max 60 hard limit, only already-joined users are included (with rationale that unjoined profiles are empty), and what the inPool flag means. This goes beyond annotations and explains data quality semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.