Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld, so the safety profile is covered. The description adds genuinely useful behavior beyond them: value components (Vector3, Color, Scalar) are intentionally not listed individually and must be reached through their owner, plus the 'see what actually landed' reconciliation use case. Return-format specifics are left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.