Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly, idempotent, non-destructive), but the description goes well beyond: it explains the no-receipt case returns possible reasons (pending/dropped/never existed) instead of erroring, notes contract deployments report the new address, and discloses the full pricing/auth model ($0.002/call via x402, prepaid x-credit-token header, 1 free call/day, no API key). That is actionable context an agent cannot infer from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.