Toolset binds applications to connections and (optionally) restricts which tools are allowed. It’s the unit you hand to an LLM: it produces provider-shaped tool schemas and executes the model’s tool calls.
Build one locally
None/null to use your server default for that application.
Use it
handle_tool_calls captures per-call tool failures (execution, connection, validation errors) as structured error results so the batch continues; systemic failures (auth, network, server) still raise. See LLM providers for the full agent loop.
Persist on the server
?toolsetId= on GET /v1/tools (discovery) and POST /v1/tools/{slug}/execute (connection resolution + allow-list enforcement).