Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, indicating this is a safe, read-only, idempotent operation. The description adds minimal behavioral context by specifying '(GET)', which aligns with read-only behavior, but doesn't disclose additional traits like rate limits, authentication needs, or what happens if the notificationId doesn't exist. There's no contradiction with annotations, but the description adds little value beyond what annotations already convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.