Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/non-destructive/open-world, and the description adds real contextual value: no API key required, the distinction between matched-trade flow fields and separately-sourced provider positions/PnL, as-of markers, and the caveat that 'absence of a row is not proof of inactivity.' That is meaningful disclosure beyond the annotations, though it stops short of rate limits or caching behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.