Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/openWorld annotations, it discloses cost ($0.003/call, 10 free/day, x402 payment-required result), error behavior (isError on invalid input or upstream failure, not charged), and result semantics (slippage vs mid in bps, null meaning the book was too thin). This is rich context the annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.