Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it covers the key behavior: the returned field metadata includes requiredness and conditional options. It does not explicitly state that the tool is read-only or describe errors, but the read-only nature is strongly implied by describing a field dictionary rather than a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.