Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It does reveal that the set_read parameter marks notifications as read on the server, but it omits the tool's default behavior, whether it is otherwise read-only, any side effects, and what the caller should expect in return.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.