Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint/idempotentHint already declaring the safety profile, the description still adds substantial context the annotations cannot: the $0.002/call price, 10 free calls per day, the x402 payment-required result, fuzzy-match behavior that returns best match plus alternatives, and error semantics (isError message, not charged).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.