Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint), the description adds critical behavioral details: the 24-hour lifetime, failure on unknown ID, and the instruction to treat failures as permanent rather than transient. It also clarifies that no API key or account is required. These details are not captured by annotations and significantly improve the agent's ability to handle errors correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.