Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and non-destructiveness. The description adds valuable behavioral detail beyond the annotations: a 50-match limit, the kinds of data returned (asset class, services, pricing tier), and the guarantees that it is free, read-only, and does not trigger payment or provide live prices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.