MCP tool call routing was reworked to better track per-session remote tool hosts and report a new 'not served' error
The internal logic that decides whether a tool call runs locally or is sent to a remote MCP (external tool provider) host was substantially reworked. It now tracks which "machine" handles each tool individually, checks whether a host is presentable, and distinguishes hosts whose source is the current session from other kinds of hosts. In more cases than before, a call can now fail with a new not_served error, even when the remote-tools capability check itself doesn't fail.
This changes how Claude Code routes tool calls to remote MCP hosts, particularly for session-based hosts, and gives clearer feedback (not_served) when a tool call can't be routed to any host, instead of failing for less specific reasons.
The finding does not say what user-visible situations now trigger `not_served` versus the previous behavior.