Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the read-only/idempotent/non-destructive profile, yet the description adds substantial non-obvious behavior: sample/test items return cost_cents 0 with live_cost_cents showing the real price, proposals never charge credits or buy postage, destinations are validated against the agent's inbound policy, and denial should halt the agent. This is rich context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.