Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations covering safety (readOnlyHint=false, destructiveHint=false, openWorldHint=true), the description still adds real behavior: a 20-second per-account freshness dedup window. It also names the return keys, though the output schema already carries that, so it's slightly redundant rather than additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.