Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations (readOnlyHint=false, destructiveHint=false): discloses the scan taxonomy, that findings are human-triaged and never auto-applied, billable cost, concurrency limit (one in-flight per project), the operator allowlist gating that can return a message instead of running, and the paid-plan requirement. This is rich operational context an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.