Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does substantial work: it discloses authentication (ChainHelix API key bearer token) and a per-call cost model (5 cents via Binance b402 in USDT/USDC/USD1/U on BNB Smart Chain or x402 USDC on Base). It also explains data freshness semantics (probedAt/ageSeconds, continuous ~2-3 minute sweep of the live set, rolling full-registry pass). It stops short of rate limits, error behavior, or explicitly labeling the operation as read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.