Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, etc.), the description discloses valuable behavioral details: forecasts are written before the window opens, settled from the exchange public feed afterward, and raw rows are returned for independent recomputation. It also notes the output fields and that the tool is free, giving agents a strong safety and trust profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.