Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, together with the 100%-covered schema and output schema, gives an agent everything needed to call the tool correctly: the object type, the meaning of the parameter values, how to handle zero and clearing, and why the abstraction exists. The annotation set covers idempotency and non-destructiveness, so no safety-relevant behavior is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.