Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that inputs are stored unencrypted, that server-computed results are included, and that saved data is later retrievable via list/load. It omits details like overwrite behavior for duplicate names or authentication/error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.