Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly=false, destructive=false, openWorld=true, idempotent=false), so the bar is lower. The description usefully adds that the emitted payload varies with webhook state and that an api_key from register_agent may be needed, but it says nothing about what the tool returns or what state changes occur after a successful challenge.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.