Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses behavior well beyond the annotations: explicit size and rate limits (32 KiB, 60/min per member, 300 per room), broadcast semantics ('every member reads it'), per-room sequence assignment, idempotency semantics on retry, and the success/failure result shape (posted:true, message.seq, failures are errors). This is exactly the context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.