Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations: discloses data provenance (eth_feeHistory over 20 blocks, Solana prioritization fees), a 15-second cache, the $0.002 USDC x402 charge, and that failed calls are free. Cost and freshness are exactly the behavioral facts 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.