Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, and the description layers on genuinely new operational context: $0.01 per call, 10 free/day, x402 payment-required results, and isError behavior for invalid input or upstream failure without charging. This is exactly the kind of detail structured fields cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.