Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=true supplied, the description carries most of the burden and does add real context: the position NFT is retained, fees/rewards are swept into the same operation, liquidity is bounded by decoded current state, and the whole batch is all-or-nothing ('require every inner call to succeed'). It does not say what the prepared output looks like or whether approval steps are needed, but the output schema covers the return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.