Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is covered structurally. The description still adds real context beyond that: null semantics for unknown values, the caveat that stock does not imply same-day pickup, and the no-auth requirement. It stops short of error behavior or rate limits, so it lands at 4 rather than 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.