Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that the tool is stateless, does not persist server-side, and returns a normalized card. It also says it validates first. However, it does not disclose what 'normalized' means, what validation errors look like, whether the input card is mutated, or any side effects. The description adds some behavioral context but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.