Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, but the description adds real behavioral context: limits and allowed values vary per account, so the card must be re-read before each quote, and an unknown or disabled model answers 'model_unknown'. It also delimits what the card will never contain (pricing, routing or billing internals), which tells the agent what not to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.