Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds meaningful behavioral detail beyond that: it explains the difference between fully connected (authenticated:true, empty pending[]) and missing credentials (connect_url, per-install URLs), which is not evident from annotations alone. This enriches the agent's understanding of expected outcomes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.