Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint, so the description carries and delivers real behavioral value: it discloses return contents (description, chapter, validity dates, declarable flag, basic duty rate), the null-when-empty edge case, the coverage limitation on duty measures, and – critically – the paid-call model ($0.002 USDC via x402 on Base/Solana/Arc, failed calls not charged). That payment and failure-charging detail is exactly the kind of pre-invocation context an agent needs and cannot get from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.