Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations (readOnlyHint=false, destructiveHint=true, openWorldHint=true) by disclosing that the public path returns a pending request rather than a Space, that sign-in or a linked agent is required, and that both paths are retry-safe when the same idempotency_key and arguments are reused. Those are exactly the behaviors an agent cannot infer from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.