Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the bar is lower. The description still adds genuinely non-obvious behavior: a code is returned only where the brand has approved AI assistants, otherwise the store's vouchernaut.com page is returned instead — a data-gating condition an agent cannot infer from the schema. It doesn't discuss error behavior for an invalid/expired id, hence not 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.