Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, non-destructive, closed-world, so the bar is lower, yet the description still adds real behavioral context: the read is pinned to one block, prices come from OrbitWan's table, amounts are base-unit strings, and the total is nulled with a failed count when any per-token read fails. That partial-failure semantics is exactly the kind of detail annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.