Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only give the coarse safety profile (readOnlyHint=false, non-idempotent, non-destructive); the description supplies the crucial specifics: the generated script may be stored/persisted and no sealed Rust proof is created. It also states the return payload. It does not mention latency, cost, or limits, so it is useful but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.