Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral details beyond those: the default price-band behavior when maxPrice is omitted, that maxPrice overrides the band, and the structural nature of matching. This gives an agent a clear model of how the tool behaves at runtime without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.