Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, openWorldHint), so the bar is lower, yet the description adds genuinely new context: it returns source-backed fields, differences, missing data and 'comparable prices without inventing values', and it discloses the production auth/billing requirements (x402 v2 PAYMENT-SIGNATURE on Base mainnet USDC, or Stripe billing headers). That auth disclosure is exactly the kind of behavioral detail annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.