Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations by disclosing merge semantics ("Fields left out keep their value; null clears one"), the full-replacement risk of the settings object, and downstream propagation timing ("Templates that follow the brand pick it up from their next send"). These are exactly the behaviors an agent cannot infer from readOnlyHint=false / idempotentHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.