Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnly, idempotent), but the description adds critical context beyond them: it is paid ($0.01), requires a payment mechanism (api_key or x402), explains what happens without a key, and describes the returned payload's fields (value, unit, effective and last-confirmed dates, official source, confidence label). It also warns about downstream binding to get_changes or register_alert. This is rich behavioral context that annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.