Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover only readOnly/openWorld safety. The description adds substantial behavioral context the annotations do not: default 1,000 vs max 5,000 blocks, a 100-result cap, newest-first ordering, public-node refusal on large results, and a full cost model ($0.003 USDC per successful call via x402 on Base/Solana/Arc, failed calls not billed). This is exactly the non-structured behavior an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.