Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnlyHint=true, the description adds significant non-obvious behavior: model refusals are valid results, not gaps, and must not be substituted or presented as missing data. This is critical operational guidance beyond the annotations and directly shapes how an agent should interpret and present output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.