Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While 'mark as read' implies a mutation/write operation, it doesn't specify whether this requires specific permissions, if changes are reversible, what happens on success/failure, or any rate limits. The description lacks crucial behavioral context for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.