Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive, so the description's job is context: it correctly frames output as AI-generated (hence potentially stale) and scoped to a single competitor, and clarifies that generation is a separate in-app action. It stops short of describing the empty/unavailable-card case.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.