Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses read-only behavior, required environment variables, that tenant comes from settings not arguments, the OK/REFUSED/UNAVAILABLE status model, UNAVAILABLE for missing settings or disabled surfaces, a version dependency, and a caution that output is not a compliance finding. Only the request payload behavior and response shape details are left implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.