Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so 'Read-only' is largely redundant. The description earns credit for genuinely new behavioral context: 'building' is a normal intermediate state, polling should be suppressed via keepPolling, and a sent status yields a quote link and price summary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.