Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, non-destructive, closed-world), and the description adds substantial context beyond them: the output is a typed tree plus an extensions manifest, screening must be followed by full engine computation with a proof graph on the same snapshot, the binding is a pinnable object, and sourceSchemaContentHash is compared against the pin. These are non-obvious contract details an agent could not derive from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.