Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations: discloses the data-source mechanics (reads embedded JSON, no public API, page shows its own total count) and a detailed cost model ($0.002 USDC per successful call via x402 with payment networks; failed calls free). This is exactly the kind of behavior an agent needs before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.