Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Descriptions adds meaningful context beyond annotations: the extraction is heuristic, pricing is $0.01 per call, a prepaid x-credit-token header enables unlimited calls, one free call per day is available, and no wallet or API key is needed. No contradiction with readOnlyHint or idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.