Start Debugging

Claude Code 2.1.259 добавляет managedMcpServers: раздача MCP-серверов без MDM

До сих пор единственным способом выдать всем разработчикам одни и те же MCP-серверы был managed-mcp.json, файл в системном пути, который забирает исключительный контроль над MCP. Claude Code 2.1.259 добавляет настройку managedMcpServers для HTTP- и SSE-серверов и попутно сужает область действия allowedMcpServers.

Claude Code 2.1.259 вышел 2026-09-02 с однострочной записью в журнале изменений, которая решает проблему, обходные пути к которой администраторы искали месяцами: управляемая настройка managedMcpServers позволяет организации предоставить HTTP- и SSE-серверы MCP всем пользователям. В этом же выпуске allowedMcpServers изменили так, что список теперь управляет только теми серверами, которые пользователи добавляют сами. Вместе эти две строки перестраивают управление MCP, а вторая убирает страховку, на которую сегодня полагаются некоторые команды.

Почему managed-mcp.json был неподходящим инструментом для задачи “Sentry получают все”

До 2.1.259 существовало два механизма, и ни один из них не годился для раздачи. Списки разрешённых фильтруют, но не разворачивают: документация по управляемому MCP прямо говорит, что allowedMcpServers и deniedMcpServers “не являются реестром” и что сервер сначала должен быть добавлен пользователем, плагином или через managed-mcp.json, прежде чем к нему применится любой из списков.

Остаётся managed-mcp.json. Он действительно разворачивает серверы, но с двумя тяжёлыми условиями. Это отдельный файл в системном пути, поэтому нужен Jamf, Intune, Group Policy или что-то ещё с правами администратора на машине:

{
  "mcpServers": {
    "sentry": { "type": "http", "url": "https://mcp.sentry.dev/mcp" }
  }
}

После развёртывания Claude Code загружает только то, что определено в этом файле. Серверы из плагинов перестают загружаться. Серверы, переданные через --mcp-config, отклоняются. Коннекторы claude.ai подавляются, если дополнительно не задать allowAllClaudeAiMcps. Это механизм блокировки, который заодно раздаёт серверы, а не механизм раздачи. И, согласно документации по настройкам, управляемым сервером, он “не может распространяться через настройки, управляемые сервером”, так что у организации без MDM пути не было вовсе.

managedMcpServers — это ключ настроек, а не отдельный файл, поэтому он идёт по обычному каналу управляемых настроек, включая консоль администратора claude.ai:

{
  "managedMcpServers": {
    "sentry": { "type": "http", "url": "https://mcp.sentry.dev/mcp" }
  }
}

Ограничение на HTTP и SSE — самое интересное проектное решение. Запись stdio была бы массивом argv, выполняемым на каждой машине разработчика и доставленным по сети с сервера. Ограничение ключа удалёнными транспортами не даёт полезной нагрузке настроек превратиться в удалённое выполнение кода.

Список разрешённых перестал быть страховкой

Вторая строка журнала изменений значит больше, чем кажется. Текущая документация всё ещё утверждает, что allowedMcpServers и deniedMcpServers “применяются и к управляемым серверам, поэтому управляемый сервер, не прошедший проверку, не загрузится”. В 2.1.259 список разрешённых управляет только серверами, которые добавляют пользователи. Серверы, разосланные администратором, уже являются решением администратора, поэтому повторная проверка по его же списку была избыточной. Но если вы написали строгий список serverUrl как дополнительную проверку всего загружаемого, управляемый набор он больше не покрывает. Списки запрещённых не изменились и по-прежнему объединяются со всех уровней, и это тот рычаг, который стоит сохранить.

Справочник настроек новый ключ ещё не описывает, поэтому проверьте форму записи на одной машине командой claude mcp list, прежде чем разворачивать её на весь парк. Если вы только выстраиваете сторону фильтрации, как централизованно контролировать, какие MCP-серверы может запускать команда разбирает приоритет сопоставителей, на котором спотыкается большинство первых развёртываний.

Полные подробности в журнале изменений Claude Code.

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Назад