Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the mutation/safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true), and the description adds genuinely new behavioral context: the call is asynchronous, returns immediately, and the returned source carries a status that later becomes 'ready' after analysis finishes. That polling/eventual-consistency detail is exactly what an agent needs and is not in the annotations. It omits idempotency behavior and failure modes, but the async lifecycle disclosure is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.