Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, it discloses what is actually read (owner, pending owner, EIP-1967 impl + admin, paused state), adds interpretive guidance (EOA key vs multisig/timelock, and that 'renounced' is unsafe on an upgradeable proxy), plus concrete invocation constraints (x402 pricing, prepaid header, free daily call, no API key). That is meaningful context the annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.