Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld. Beyond that, the description discloses meaningful behavior: results are 'source-backed', values are not invented, and missing data is explicitly reported alongside differences. It does not cover caching behavior (max_age_ms) or rate/auth constraints, so it is not fully comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.