Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/openWorld annotations, the description discloses important behaviors: contract creation is flagged via null to, pending transactions via null block, and unknown hashes return found:false rather than an error. It also explains access/pricing behavior, such as the x-credit-token header and free daily calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.