Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, destructive, open-world, non-idempotent, so the safety profile is covered. The description still adds real value: the staged pipeline (plan, scaffold, write, install, build, test, start on project's port), the budget consumption, and the polling contract with get_build. It does not say what on-disk state a build may overwrite despite destructiveHint=true, which keeps it below 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.