Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it partially does so by enumerating the returned attributes, which is valuable given there is no output schema. However, it does not disclose failure semantics (does a nonexistent path return a negative result or an error?), permission requirements, or symlink handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.