Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnly/idempotent already declared in annotations, the description adds the state-dependent behavior an agent cannot get from the schema: ready:false on unfinished jobs, a failure reason on failed jobs, found:false on unknown ids, and the auth requirement of reusing the same _apiKey. This is precisely the non-obvious behavioral context that annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.