Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, openWorld, idempotent, and non-destructive, so the bar is lower. The description adds genuinely useful context beyond them: the calculation engine (SunCalc), the free/not-charged-on-error pricing model, and explicit error behavior (returns isError for invalid input or upstream failure). It does not describe pagination or output shape, but the output schema covers that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.