Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations provide the safety profile (readOnly=false, openWorld=true, idempotent=false, destructive=false), while the description adds important non-obvious behavior: published versions never change, the default source is the current draft, and config can override the draft. This goes beyond what the annotations alone signal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.