Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare this is a non-read-only, non-destructive, non-idempotent write. The description adds behavior annotations cannot convey: the operation is asynchronous and takes minutes, it returns an id immediately rather than the finished app, progress is checked via app_status, and the user can watch the build via a link. That is exactly the async/lifecycle context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.