Model Context Protocol
Предоставьте Codex доступ к сторонним инструментам и контексту
Model Context Protocol (MCP) связывает модели с инструментами и контекстом. Используйте его, чтобы предоставить ChatGPT или Codex доступ к сторонней документации либо позволить им взаимодействовать с инструментами разработчика, например с вашим браузером или Figma.
Веб-версия ChatGPT может использовать удалённые инструменты на базе MCP, предоставляемые плагинами. Локальные клиенты Codex также могут напрямую подключаться к серверам MCP и совместно использовать их конфигурацию.
Настольное приложение ChatGPT, Codex CLI и расширение IDE поддерживают серверы MCP и совместно используют конфигурацию MCP для одного и того же хоста Codex.
Перечисленные ниже поддерживаемые возможности серверов относятся к серверам MCP, настроенным на хосте Codex. Инструменты размещённых плагинов могут иметь другие возможности.
Поддерживаемые возможности MCP
- Серверы STDIO: серверы, работающие как локальный процесс (запускаемый командой).
- Переменные окружения
- Серверы Streamable HTTP: серверы, доступные по сетевому адресу.
- Аутентификация с помощью Bearer-токена
- Аутентификация OAuth
- Аутентификация с помощью сеанса ChatGPT для доверенных серверов OpenAI
- Инструкции сервера: Codex считывает поле MCP
instructions, возвращённое при инициализации, и использует его как общие указания для всего сервера наряду с его инструментами.
Если вы разрабатываете или поддерживаете сервер MCP для Codex, используйте instructions для описания рабочих процессов с несколькими инструментами, ограничений и лимитов запросов, действующих на всём сервере. Первые 512 символов должны быть самодостаточными, чтобы наиболее важные указания были доступны, когда Codex решает, как использовать сервер.
Подключение Codex к серверу MCP
Codex хранит конфигурацию MCP в config.toml вместе с другими параметрами конфигурации Codex. По умолчанию это ~/.codex/config.toml, однако область действия серверов MCP также можно ограничить проектом с помощью .codex/config.toml (только для доверенных проектов).
Настольное приложение ChatGPT, Codex CLI и расширение IDE совместно используют эту конфигурацию. Настроив серверы MCP, вы сможете переключаться между этими клиентами без повторной настройки.
Настройка в настольном приложении ChatGPT
- Откройте Настройки, затем выберите Серверы MCP.
- Выберите Добавить сервер.
- Введите имя, выберите STDIO или Streamable HTTP и укажите команду сервера или URL.
- Сохраните сервер, затем выберите Перезапустить.
В списке серверов указано, какие серверы включены и для каких требуется OAuth. Выберите
Аутентифицироваться, если для сервера OAuth необходимо войти в систему. В поле ввода сообщения введите /mcp,
чтобы просмотреть подключённые серверы.
Настройка с помощью config.toml
Для более точного управления измените ~/.codex/config.toml или файл .codex/config.toml,
действующий в пределах проекта. Полный список поддерживаемых параметров MCP с возможностью поиска приведён в справочнике по конфигурации.
Настройте каждый сервер MCP с помощью таблицы [mcp_servers.<server-name>] в файле конфигурации.
Серверы STDIO
command(обязательно): команда, запускающая сервер.args(необязательно): аргументы, передаваемые серверу.env(необязательно): переменные окружения, задаваемые для сервера.env_vars(необязательно): переменные окружения, которые разрешено передавать.cwd(необязательно): рабочий каталог, из которого запускается сервер.experimental_environment(необязательно): задайтеremote, чтобы запускать сервер stdio через удалённую среду выполнения, если она доступна.
env_vars может содержать простые имена переменных или объекты с указанием источника:
env_vars = ["LOCAL_TOKEN", { name = "REMOTE_TOKEN", source = "remote" }]Строковые элементы и source = "local" считываются из локального окружения Codex.
source = "remote" считывается из удалённой среды выполнения и требует
удалённого MCP stdio.
Серверы Streamable HTTP
url(обязательно): адрес сервера.auth(необязательно): способ аутентификации, применяемый после настроенных Bearer-токенов и заголовков авторизации. Используйтеoauth(значение по умолчанию) для сохранённых учётных данных MCP OAuth. Используйтеchatgpt, чтобы применить текущий сеанс ChatGPT для доверенного источника ChatGPT с сохранёнными данными OAuth в качестве резервного варианта.bearer_token_env_var(необязательно): имя переменной окружения с Bearer-токеном, отправляемым вAuthorization.http_headers(необязательно): сопоставление имён заголовков со статическими значениями.env_http_headers(необязательно): сопоставление имён заголовков с именами переменных окружения (значения берутся из окружения).
Если получить учётные данные ни из одного источника не удаётся, Codex может подключиться к серверу без
аутентификации. Отдельно выполните codex mcp login <server-name>, чтобы начать
вход через MCP OAuth.
Другие параметры конфигурации
startup_timeout_sec(необязательно): время ожидания запуска сервера в секундах. По умолчанию:10.tool_timeout_sec(необязательно): время ожидания выполнения инструмента сервером в секундах. По умолчанию:60.enabled(необязательно): задайтеfalse, чтобы отключить сервер, не удаляя его.required(необязательно): задайтеtrue, чтобы запуск завершался с ошибкой, если этот включённый сервер не удаётся инициализировать.enabled_tools(необязательно): список разрешённых инструментов.disabled_tools(необязательно): список запрещённых инструментов (применяется послеenabled_tools).default_tools_approval_mode(необязательно): поведение подтверждений по умолчанию для инструментов этого сервера. Поддерживаемые значения:auto,prompt,writesиapprove. В режимеwritesзапрашивается подтверждение для инструментов, не помеченных как доступные только для чтения.tools.<tool>.approval_mode(необязательно): переопределение поведения подтверждений для отдельных инструментов.
Если вашему провайдеру OAuth требуется фиксированный порт обратного вызова, задайте параметр верхнего уровня mcp_oauth_callback_port в config.toml. Если он не задан, Codex привязывается к временному порту.
Если поток MCP OAuth должен использовать определённый URL обратного вызова (например, URL входа удалённого Devbox или собственный путь обратного вызова), задайте mcp_oauth_callback_url. Codex использует это значение как базовый URL обратного вызова, а затем добавляет идентификатор обратного вызова конкретного сервера, формируя OAuth redirect_uri, который отправляется при входе. Зарегистрируйте у провайдера OAuth полный производный redirect_uri, включая добавленный идентификатор обратного вызова и все настроенные путь, строку запроса или порт, а не только базовый хост или путь без этого суффикса. Локальные URL обратного вызова (например, localhost) привязываются к локальному интерфейсу; нелокальные URL обратного вызова привязываются к 0.0.0.0, чтобы обратный вызов мог достичь хоста.
Если сервер MCP объявляет scopes_supported, Codex отдаёт предпочтение этим
областям доступа, объявленным сервером, при входе через OAuth. В противном случае Codex использует
области доступа, настроенные в config.toml.
Примеры config.toml
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
env_vars = ["LOCAL_TOKEN"]
[mcp_servers.context7.env]
MY_ENV_VAR = "MY_ENV_VALUE"# Optional MCP OAuth callback overrides (used by `codex mcp login`)
mcp_oauth_callback_port = 5555
mcp_oauth_callback_url = "https://devbox.example.internal/callback"[mcp_servers.figma]
url = "https://mcp.figma.com/mcp"
bearer_token_env_var = "FIGMA_OAUTH_TOKEN"
http_headers = { "X-Figma-Region" = "us-east-1" }[mcp_servers.chrome_devtools]
url = "http://localhost:3000/mcp"
enabled_tools = ["open", "screenshot"]
disabled_tools = ["screenshot"] # applied after enabled_tools
default_tools_approval_mode = "prompt"
startup_timeout_sec = 20
tool_timeout_sec = 45
enabled = true
[mcp_servers.chrome_devtools.tools.open]
approval_mode = "approve"Серверы MCP, предоставляемые плагинами
Установленные плагины могут включать серверы MCP в свой манифест. Эти
серверы запускаются из плагина, поэтому пользовательская конфигурация не задаёт для них
команду транспорта. При этом в пользовательской конфигурации по-прежнему можно управлять включением и отключением, а также политикой инструментов
в разделе plugins.<plugin>.mcp_servers.<server>.
[plugins."sample@test".mcp_servers.sample]
enabled = true
default_tools_approval_mode = "prompt"
enabled_tools = ["read", "search"]
[plugins."sample@test".mcp_servers.sample.tools.search]
approval_mode = "approve"Примеры полезных серверов MCP
Список серверов MCP продолжает расти. Вот несколько распространённых вариантов:
- OpenAI Docs MCP: поиск и чтение документации OpenAI для разработчиков.
- Context7: подключение к актуальной документации для разработчиков.
- Figma: локальный и удалённый доступ к вашим макетам Figma.
- Playwright: управление браузером и его исследование с помощью Playwright.
- Инструменты разработчика Chrome: управление Chrome и его исследование.
- Sentry: доступ к журналам Sentry.
- GitHub: управление возможностями GitHub, выходящими за рамки поддерживаемых
git(например, запросами на слияние и задачами).