Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All context dimensions are covered: the output schema captures the exact shape of the returned estimate, annotations capture safety/idempotence, and the description covers scope (USDC, chat completion requests), usage context (before chat_completions), auth, precedence, and mode semantics. The one thing it does not spell out, the rounding/unit details of the estimate, is legitimately delegated to the output schema. Nothing an agent needs to call this correctly or decide to route to it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.