codex mcp-server запускает Codex по stdio как MCP-сервер, чтобы другой агент или хост мог делегировать ему задачу по коду. Это обратное направление по сравнению с codex mcp add, где Codex сам потребляет внешние инструменты. Различие принципиально: в одном случае Codex - клиент, тянущий чужие возможности, в другом - сервер, предоставляющий свою способность писать код чужому оркестратору. Понимать, в какой роли Codex, необходимо, потому что от этого зависит, кто кому доверяет и кто за что отвечает.
Полезно один раз развести обе схемы в таблице, потому что риски у них разные. codex mcp add делает Codex MCP-клиентом, вызывающим внешний сервер, - и риск здесь в правах внешнего инструмента и совместном использовании данных. codex mcp-server делает Codex сервером, выполняющим задачу по коду, - и риск в том, что хост может поручить ему действия, а Codex их выполнит своими руками. Это две противоположные границы доверия, и путать их - значит неверно оценить, где проходит опасность.
| Схема | Роль Codex | Риск |
|---|---|---|
| codex mcp add | MCP-клиент, вызывает внешний server | Права внешнего tool и совместное использование данных |
| codex mcp-server | MCP-сервер, выполняет coding task | Host делегирует действия; границы задаёт оркестратор |
Запуск в роли сервера прост, но открывает делегирование. Ниже - команда codex mcp-server. После неё Codex доступен как инструмент, который внешний агент может вызвать. Простота команды не должна скрывать сути: вы отдаёте способность писать и выполнять код под управление чужого оркестратора. Это мощно для построения многоагентных систем, но и требует ясности в том, кто этот оркестратор и какие задачи он вправе делегировать Codex.
При интеграции с Agents SDK разделение ответственности становится явным. Хост создаёт MCP-процесс, вызывает предоставленный Codex-инструмент и получает результат. Но всё, что вокруг вызова, - забота внешнего оркестратора: рабочий каталог, аутентификация, sandbox, таймаут и итоговая проверка результата. Codex-сервер выполняет задачу, но не отвечает за то, в каких границах его запустили, - это ответственность хоста. Разделение чёткое: сервер делает работу, оркестратор задаёт рамки и проверяет итог.
Ответственность оркестратора - это не формальность, а реальная граница безопасности. cwd определяет, где Codex будет работать; auth - от чьего имени; sandbox - что он может тронуть; timeout - как долго; итоговая проверка - принять ли результат. Если оркестратор задаёт эти рамки небрежно, делегирование задачи Codex-серверу становится дырой: сервер честно выполнит то, что ему поручили в тех границах, что ему дали, а если границы широки - широки и последствия.
Смысл этой обратной схемы - встроить способность Codex писать код в чужую агентную архитектуру. Когда у вас уже есть оркестратор на Agents SDK, координирующий несколько инструментов, Codex-сервер становится одним из них - тем, кто умеет разобраться в репозитории и внести изменение. Это композиция агентных систем, а не одиночный запуск. Но композиция усиливает и требования к границам: делегированная задача так же нуждается в узком sandbox и проверке результата, как и любая другая.
Выбор между схемами - это выбор роли Codex в вашей архитектуре. Нужны внешние инструменты внутри Codex - это codex mcp add, Codex как клиент. Нужно отдать способность Codex писать код внешнему оркестратору - это codex mcp-server, Codex как сервер. Обе схемы законны, но у них противоположные направления доверия, и первый вопрос при проектировании - в какой роли здесь Codex и, следовательно, кто задаёт границы и проверяет результат.
Типичные провалы вокруг этой темы предсказуемы. Спутать codex mcp add и codex mcp-server и неверно оценить направление доверия. Отдать Codex как сервер оркестратору, не задав cwd, auth, sandbox и timeout осознанно. Понадеяться, что сервер сам ограничит себя, - хотя рамки задаёт хост. И не проверить результат делегированной задачи так же строго, как своей. Понимайте роль Codex, задавайте границы на стороне оркестратора и проверяйте итог делегирования как любой другой результат.
# Codex как MCP server: другой agent/host делегирует coding task
codex mcp-server
# обратное направление к codex mcp add (где Codex - клиент внешних tools)
# при интеграции с Agents SDK: host отвечает за cwd, auth, sandbox, timeout и проверку