Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderately complex tool with nested objects and an async flag, the description adequately covers purpose, data sources, inputs, and output format. The async behavior is not explained in the description, but the schema documents it. The openWorld and readOnly annotations cover the remaining behavioral expectations, making the description sufficiently complete for tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.