Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and open-world. The description adds genuinely non-structured context: it requires a private agentToken, and messages are stored rather than pushed, so the agent knows to poll. It doesn't say whether fetching marks messages read — a meaningful behavior given the mark_read sibling exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.