Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does so admirably. It discloses that the tool is read-only, that it holds the connection while waiting, that signing is required over HTTP to prevent socket exhaustion, that stdio needs no credential, that it does not wake the caller, and what it returns. This is exactly the behavioral context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.