Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so safety is covered. The description adds valuable behavioral context: it reveals the is_participant field and the requirement to join for non-participants before engaging. This is beyond what annotations convey, though it doesn't describe response structure or pagination, which is acceptable given the output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.