Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations by disclosing that values are stored encrypted, never returned by any tool, pass through the conversation, and that existing variables not named are kept (merge semantics). These are non-obvious behavioral traits an agent needs to reason about safety and repeat invocations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.