Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, single-parameter read tool this covers purpose, scope, and the shape of the returned matrix, which is the main thing an agent needs. Given there are no annotations and no output schema, however, the description should have addressed output ordering, handling of non-comparable products, and why it exists alongside compare_products_deep_matrix.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.