Start here. This is the direct spoken answer to practice first.
Overview
The tool result becomes new model context, so result shaping is both a usability and a security boundary.
I return the result with the tool-call identifier and a clear success or failure shape. The payload contains only the fields needed for the next response, not an entire internal object. Errors are stable business or dependency outcomes rather than raw exceptions. External text in a tool result remains untrusted data.