Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-idempotent, non-destructive, open-world write; the description adds substantial context beyond them — the return shape {id, status:"importing"}, that processing is async, the exact polling/webhook completion path, and the webhook payload semantics (status: complete|failed). This is exactly the behavioral detail a mutating async tool needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.