Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, closed-world and non-destructive behavior, so safety is fully covered by structured data. The description's '(read-only)' restates the annotation, and the enumeration of returned fields overlaps the output schema, so it adds limited behavioral information beyond what is already given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.