Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant context beyond the annotations: 'no state changes and no external calls,' 'computed locally from server pricing config,' 'free, no payment, no authentication required,' and 'repeated calls with identical inputs return identical results.' These details clarify side effects, network behavior, and prerequisites, which annotations alone do not convey. No contradiction with the readOnly/idempotent/destructive hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.