Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does reasonably well: it discloses the auth requirement ('Requires files:write for API keys'), the optimistic-concurrency guard ('Refused if the file changed since the job started'), and that the result is written as a new version rather than overwriting. It does not describe the return payload or failure modes beyond the refusal case.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.