Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (not read-only, non-destructive, non-idempotent); the description adds genuinely new behavior: async execution returning toolExecutionId, the need to poll, and the synchronous short-circuit for local calls. It also introduces the 'supportsDirectToolExecution' voice constraint, which is meaningful context. Missing error/timeout behavior keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.