Счётчик Яндекс Метрики
Перейти к основному содержанию
Atomno labs

агент OpenAI в терминале, приложении и редакторе

MCP-серверы для Codex

18 серверов с российскими государственными и финансовыми данными для Codex. Одна запись в config.toml — и серверы видны сразу в командной строке, в приложении ChatGPT и в расширении для редактора.

Что такое MCP-сервер в Codex?

У Codex три оболочки: командная строка, настольное приложение ChatGPT и расширение для редактора. MCP-сервер — отдельная программа с набором инструментов; Codex поднимает её и передаёт агенту описание каждого инструмента, чтобы тот вызывал их сам по ходу задачи.

Главное отличие от других клиентов — общая настройка. Все три оболочки читают один и тот же config.toml, поэтому сервер, добавленный из терминала, появится и в приложении, и в расширении без повторной настройки. По умолчанию это ~/.codex/config.toml; сервер можно ограничить одним проектом файлом .codex/config.toml, но он читается только в проектах, отмеченных как доверенные.

Формат здесь TOML, а не JSON: каждый сервер описывается таблицей вида [mcp_servers.имя]. Поддерживаются локальный процесс, запускаемый командой, и удалённый сервер по адресу через Streamable HTTP.

Ещё одна особенность — политика подтверждений задаётся и серверу целиком, и отдельному инструменту. Веб-версия ChatGPT локальные файлы настроек не читает.

Подключение: одна запись на три оболочки

Сервер добавляется командой, через интерфейс приложения или правкой файла — результат один, потому что запись попадает в общий config.toml. Ниже оба пути: сначала команда, потом тот же результат в виде файла.

Где лежит config.toml

Глобальный ~/.codex/config.toml
Проектный <проект>/.codex/config.toml
Про проектный файл читается только в проектах, отмеченных как доверенные
Из приложения ChatGPT Settings → MCP servers → Add server
Из расширения для редактора меню-шестерёнка → MCP servers → Add server
Путь на Windows в документации OpenAI отдельно не указан — надёжнее добавить сервер командой codex mcp add или через интерфейс, файл найдётся сам
  1. 1

    Добавьте сервер командой codex mcp add

    Самый короткий путь. Всё, что идёт после двух дефисов, Codex запоминает как команду запуска сервера, а переменные окружения передаются флагом --env. Пакеты Atomno MCP запускаются через uvx — он приходит вместе с uv, отдельная установка серверов не нужна.

    codex mcp add atomno-fns-calc -- uvx atomno-mcp-fns-calc
    
    codex mcp add atomno-fssp \
      --env MCP_FSSP_TOKEN=atl_xxxxx \
      -- uvx atomno-mcp-fssp
  2. 2

    Либо опишите серверы в config.toml руками

    Каждому серверу — своя таблица. Следите за порядком строк: в TOML всё, что идёт после заголовка вложенной таблицы, относится к ней, поэтому блок с переменными окружения ставится в самом низу записи. Значение startup_timeout_sec стоит поднять — первый запуск скачивает пакет.

    ~/.codex/config.toml

    [mcp_servers.atomno_fns_calc]
    command = "uvx"
    args = ["atomno-mcp-fns-calc"]
    startup_timeout_sec = 30
    
    [mcp_servers.atomno_fssp]
    command = "uvx"
    args = ["atomno-mcp-fssp"]
    startup_timeout_sec = 30
    default_tools_approval_mode = "auto"
    
    [mcp_servers.atomno_fssp.env]
    MCP_FSSP_TOKEN = "atl_xxxxx"
  3. 3

    Перезапустите оболочку и посмотрите список

    В терминале выполните codex mcp list — команда покажет настроенные серверы. Приложение и расширение подхватывают правки только после кнопки Restart (в расширении она называется Restart extension). Внутри диалога наберите /mcp: появится перечень активных серверов.

    codex mcp list
    codex mcp --help

Что спросить у агента

Один и тот же вопрос сработает в любой из трёх оболочек — инструмент агент подберёт сам:

  • «Посчитай НДС 20 % в сумме 148 500 ₽ и покажи сумму без налога.»
  • «Этот человек ещё платит налог на профессиональный доход? ИНН возьми из задачи.»
  • «Кто подписант у контрагента по ЕГРЮЛ и совпадает ли адрес с тем, что в договоре?»

С чего начать в Codex

Настройка общая для трёх оболочек, поэтому в стартовый набор берут то, что пригодится и при работе в терминале, и в обычной переписке.

18 серверов для Codex

От сервера к серверу меняется только имя пакета после uvx — остальная запись в config.toml одинаковая. Помните, что перечень общий: то, что добавлено ради терминала, увидит и приложение ChatGPT.

ФНС / Налоги (3)

Финансы (2)

Юр. данные (6)

Недвижимость (2)

Госзакупки (1)

SEO / Маркетинг (2)

Бизнес-системы (2)

Фильтры по категории и лицензии — в общем каталоге.

Типовые ошибки в Codex

Пять ситуаций, из-за которых сервер в Codex ведёт себя не так, как ожидали:

Вложенная таблица env оказалась не в том месте

В TOML всё, что написано после строки [mcp_servers.имя.env], считается частью env. Допишете следом command или args — они станут переменными окружения, а сервер останется без команды запуска. Вложенные таблицы всегда идут в конце записи.

Сервер не укладывается в десять секунд

Ожидание старта по умолчанию — десять секунд. Первый запуск через uvx скачивает пакет, и на медленном канале этого не хватает: сервер помечается как упавший. Поднимите startup_timeout_sec до 30 или прогрейте кэш, выполнив команду запуска один раз вручную.

Ждут серверы в веб-версии ChatGPT

Локальный config.toml читают только приложение, командная строка и расширение для редактора. Браузерная версия к файлам на вашем компьютере не обращается — инструменты там приходят из плагинов, а не из вашей настройки.

Инструмент попал и в разрешённые, и в запрещённые

Список disabled_tools применяется после enabled_tools. Инструмент, указанный в обоих, останется выключенным, хотя по конфигу кажется разрешённым. Это выглядит как «сервер работает, а нужного инструмента нет».

Файл сохранили, оболочку не перезапустили

Правка config.toml подхватывается только при следующем старте. В приложении и в расширении для этого есть кнопка Restart, полностью закрывать программу не нужно. Убедиться, что сервер поднялся, проще всего командой /mcp прямо в диалоге.

Вопросы и ответы

Чем настройка Codex отличается от других клиентов? +
Форматом и охватом. Формат — TOML: сервер описывается таблицей [mcp_servers.имя], а не объектом JSON. Охват — один файл на три оболочки: командную строку, приложение ChatGPT и расширение для редактора. Добавили один раз — работает везде.
Где лежит config.toml на Windows? +
В документации Codex указан только путь ~/.codex/config.toml, без раскладки по операционным системам. Чтобы не гадать, добавляйте сервер командой codex mcp add или через интерфейс: Settings → MCP servers → Add server. Запись попадёт в нужный файл сама.
Как ограничить сервер одним проектом? +
Положите .codex/config.toml в корень проекта. Такой файл читается только в проектах, отмеченных как доверенные: в остальных Codex его пропустит и возьмёт глобальную настройку.
Куда вписывать токен в формате TOML? +
Во вложенную таблицу [mcp_servers.имя.env] либо флагом --env при добавлении командой. Есть и третий путь — env_vars: там перечисляются имена переменных, которые Codex возьмёт из вашего окружения и передаст серверу, не сохраняя само значение в файле.
Как выключить сервер на время? +
Поставьте enabled = false в его таблице — запись останется, но сервер стартовать не будет. Есть и обратный ключ: required = true заставляет Codex считать неудачный старт этого сервера ошибкой запуска.
Агент спрашивает подтверждение на каждый вызов — это настраивается? +
Да, ключом default_tools_approval_mode у сервера: auto, prompt, writes или approve. Режим writes спрашивает только про инструменты, не помеченные как «только чтение». Для отдельного инструмента поведение переопределяется через tools.имя.approval_mode.

Официальная документация Codex по MCP

Мы показали ровно то, что нужно для запуска. Полный перечень ключей config.toml, вход по OAuth, серверы из плагинов и тонкости каждой из трёх оболочек описаны у OpenAI.

Открыть документацию

Опишите серверы один раз

Начните с калькуляторов ФНС: ключ им не нужен, а после перезапуска инструменты появятся сразу и в терминале, и в приложении, и в расширении.

Atomno MCP не аффилирован с Codex. Данные — из открытых государственных реестров; ответственность за соблюдение условий использования источников остаётся на пользователе.