Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive behavior, so the description only needs to add context. It does: set_id switches the tool from a list to a detail response that embeds the top 10 highest-value cards, which is a meaningful behavioral disclosure not in the annotations. It stops short of noting the list cap of 25 or default 15 in prose, but the schema covers that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.