Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
On top of annotations (readOnly, idempotent, non-destructive), the description adds meaningful behavior: it returns all when category is omitted, only verified cards and measureable DokiDepo links, and rejects extra fields or unknown categories with JSON-RPC -32602. This goes well beyond the annotations and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.