Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load and does well: it discloses auth/payment paths (ChainHelix bearer key, Binance b402 in four stablecoins, x402 on Base), a data-freshness constraint (~90 minutes after each hour closes), and value semantics (withdrawal counts carry valueEth null, arbitrum is message-count only). Missing rate limits and error behavior, but this is substantially richer than a bare description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.