Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnly, idempotent, non-destructive, openWorld), and the description adds substantive context beyond them: GO only when every check ran clean, an outage degrades to HOLD, GO/HOLD return an `enforce` Cobalt condition, pricing at $0.10/call over x402, prepaid x-credit-token for unlimited calls, no free tier, and no API key required. These are operational facts an agent cannot derive from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.