Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/openWorld annotations by naming the data source (ESPN's public site JSON), disclosing partial-data behavior ('a race with no published order returns the entries it has'), and stating the exact cost model ($0.002 USDC per successful call via x402 on Base, Solana or Arc; failures not charged). Only rate limits/concurrency behavior are left unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.