Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true), so the description's job is to add what annotations cannot. It does: partial-success semantics (failing files come back in `rejected` with key and error) and deferred application ('the rest apply at the next restart'), which is critical behavior an agent cannot infer. It stops short of saying whether a partially-rejected batch leaves orphaned uploads or whether rejected entries need re-uploading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.