Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safe, idempotent, read-only profile, so the bar is lower. The description still adds real context beyond them: no persistence or sending, no PDF rendering, currency treated as a label with no FX conversion, no auth, and a rate limit. It stops short of quantifying the rate limit or describing edge-case behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.