Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds critical behavioral guarantees: nothing is executed, nothing is charged, and no key is required. It also discloses that the capability resolution is returned so interpretation is visible, which goes well beyond what the annotation alone provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.