Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower, and the description still adds real behavioral context: JS-heavy pages are handled, the call is free and returns a sample plus pay steps, and the full result costs $0.03 Base USDC via x402. It stops short of describing what the free sample contains, truncation limits, or what a caller needs (wallet/auth) to complete the paid step.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.