{"version":"2.1.321","anchor":"mcp-set-servers-accepts-denied-tools-side-question-error-co","canonical_anchor":"mcp-set-servers-accepts-denied-tools-side-question-error-co","heading":"mcp_set_servers accepts denied_tools, and the proxy tells unreachable hosts apart from blocked ones","tier":"use","area":"SDK","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.321\/e\/mcp-set-servers-accepts-denied-tools-side-question-error-co","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.321","markdown":"### mcp_set_servers accepts denied_tools, and the proxy tells unreachable hosts apart from blocked ones\n\nPrograms driving Claude Code can block specific MCP tools per session, and network errors now separate unreachable hosts from policy blocks\n\n**What**\n\nMCP servers are add-ons that give Claude extra tools. Programs that drive Claude Code through its SDK (software development kit) or from a remote host send it control requests, which are instructions such as which MCP servers to use. The `mcp_set_servers` control request now accepts an optional `denied_tools` list:\n\n- Each entry is a single MCP tool name written as `mcp__<server>__<tool>`, and that tool is blocked for the session.\n\n- The list is passed on when Claude Code reconnects its MCP servers. It is not behind a flag.\n\n- A list of more than 2,048 names, or any other bad value, is ignored with the warning \"denied_tools must be an array of at most 2,048 single MCP tool names\", and the session keeps the list it already had.\n\n- The error-code description gains `side_question_busy`.\n\nSeparately, network errors from the gateway that sandboxed sessions use to reach the internet are now split in two. A 502 answer to a connection attempt is reported as `connect_unreachable`, meaning the host was allowed but the gateway could not reach it. Other 4xx and 5xx answers stay `connect_rejected`, now meaning a policy denial. Before, every such answer was `connect_rejected`, described as \"policy denial or upstream failure\".\n\n**Why**\n\nA program hosting Claude Code can now keep chosen MCP tools away from Claude for one session without removing the whole server, and a bad list does not wipe out the existing one. When a network request fails in a sandbox, the error now shows whether the host was blocked by policy or simply could not be reached.\n\n- Area: SDK\n- Tier: Use it now\n- Useful: 5\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}