{"version":"2.1.286","anchor":"mcp-toggle-handling-for-sdk-servers","canonical_anchor":"mcp-toggle-handling-for-sdk-servers","heading":"Turning MCP servers on or off from a controlling program handles SDK servers apart","tier":"notice","area":"SDK","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.286\/e\/mcp-toggle-handling-for-sdk-servers","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.286","markdown":"### Turning MCP servers on or off from a controlling program handles SDK servers apart\n\nRequests to switch an MCP server on or off now check their inputs, treat SDK-provided servers separately and refuse servers that policy blocks\n\n**Unclear.** It is not clear whether this handling is new behaviour or existing behaviour moved elsewhere.\n\n**What**\n\nA program that drives Claude Code, such as one built with the Claude Agent SDK, can send a request to switch an MCP server (an outside program that gives Claude extra tools) on or off. Handling of that request has changed:\n\n- The server name must be text and the on\/off value must be true or false, or the request is rejected with a message such as `mcp_toggle: serverName must be a string`.\n\n- Servers supplied by the SDK program itself are handled separately from other servers.\n\n- Switching on a server that policy blocks is refused.\n\n- Switching on a registered SDK server is handled as a control request to the driving program.\n\n**Why**\n\nThis affects programs that control Claude Code and manage MCP servers through it.\n\n- Area: SDK\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}