Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (destructiveHint false, idempotentHint true) but not the cost model, and the description adds real value: it spends and reserves nothing, it writes a 24-hour retry record keyed by request_key, and it is free. That also explains why readOnlyHint is false despite no spending. It stops short of describing the output shape or pagination, which is acceptable given an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.