Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose that the operation is a read, returns the tail of the shell, and requires Thonny to be open. It does not disclose failure behavior, whether max_chars truncates the returned text, or the exact return format, so transparency is incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.