Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses async processing with the { id, status:"importing"|"ready" } shape, plan gating (402 billing_required), zero credit cost with the entitlements path, storage-gauge effect, provenance preservation, cross-org byte dedup, and the 422 candidate_mismatch failure mode. This is exactly the behavioral context annotations like readOnly/destructive cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.