Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the data types returned (minority %, low income %, linguistic isolation, education, age), the default limit of 50 with max 500, and the state-level behavior when county_fips is omitted. While it doesn't discuss error cases or performance, the core behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.