Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint false, destructiveHint false, openWorldHint false), the description discloses the conditional reuse behavior (already_uploaded skips PUT), the requirement to PUT original bytes with the same Content-Type, and the need to poll check_file before proceeding. It does not contradict annotations and adds meaningful workflow context, though it omits error handling or auth-specific details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.