ToolSearchTool now builds a fresh instance per turn with its own isolated MCP client state
The internal ToolSearchTool (used to find and load tool definitions on demand) is now built by a create factory that returns a fresh, self-contained copy for each tool instantiation, instead of sharing one call method across the board. It also reads MCP (Model Context Protocol, the standard Claude Code uses to talk to external tool servers) clients through a new turnMcpClients accessor scoped to the current turn's options, rather than through a shared option passed in directly.
This is an internal restructuring that isolates MCP client state per turn, reducing the chance that state from one turn or tool instance leaks into another.