Skip to main content
Glama

ask-chat-mcp

MCP-сервер, который позволяет Claude напрямую советоваться с ChatGPT — специалист со специалистом, опираясь на реальные файлы, в режиме только для чтения, без ограничений по размеру в обе стороны.

Создан для делегирования, а не для рецензирования. Когда проблема действительно техническая — математика за моделью, корректность вывода, дизайн, чьи компромиссы нужно обсудить — полезный ход — поставить две способные модели вместе и пусть они сообщат, к чему пришли. А не пропускать каждый обмен через человека, которому затем придётся судить о предмете, который ни одна из них ему не адресует.

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

flowchart TD
    You([You]) -->|"'Ask Chat'"| Claude[Claude]
    Claude -->|"the problem + file PATHS"| MCP["ask-chat MCP server"]
    MCP -->|"codex exec --sandbox read-only"| Codex[Codex CLI]
    Codex -->|"opens the files itself"| Repo[("your repo, read-only")]
    Codex <-->|"one thread, kept open"| GPT["ChatGPT (your subscription)"]
    GPT -->|"answer + what context it still needs"| Codex
    Codex -->|"full answer, nothing truncated"| MCP
    MCP -->|"arrives as if YOU wrote it"| Claude
    Claude -->|"what Claude makes of it"| You

Три вещи, которые эта диаграмма призвана сделать очевидными:

  • Границу пересекают пути, а не содержимое файлов. ChatGPT сам открывает файлы, поэтому нет полезной нагрузки, которую нужно бюджетировать, и нечего усекать.

  • Каждый ответ сообщает, какой контекст ему ещё нужен. Предоставить его и спросить снова — это нормальный путь, а не ошибка — уверенный ответ, опирающийся на молчаливое допущение, — это именно тот сбой, который здесь предотвращается.

  • Ответ возвращается как ваш ход, а не как отчёт. Claude отвечает на него так же, как ответил бы вам.

Содержание

Почему не автоматизировать десктопное приложение ChatGPT

Очевидный подход — управлять окном десктопного приложения, вставлять промпт, считывать ответ — это то, что делают известные MCP-серверы в этой области. Для этого сценария это тупик, и стоит явно объяснить почему, потому что причины не очевидны, пока не построишь это:

  • У промпта есть практический потолок. Он попадает в композер через вставку из буфера обмена, и большие вставки молча усекаются. Безопасный бюджет — примерно 12 тысяч символов. Этого недостаточно для реального вопроса плюс документов, от которых он зависит.

  • Ответ тоже усекается, и хуже того — невидимо. Его приходится считывать из дерева доступности приложения, а виртуализированный контейнер прокрутки не хранит там содержимое за пределами экрана. Длинный ответ возвращается частичным, без указания на это.

  • Он захватывает ваш экран. Окно должно быть в фокусе, и в него отправляются нажатия клавиш. Вы не можете печатать, пока он работает, и один вызов за раз — жёсткий предел.

  • Он ломается при изменениях интерфейса, потому что отображаемое дерево доступности — это не интерфейс, стабильность которого кто-то обещал.

Вместо этого использование Codex CLI устраняет все четыре проблемы. Он работает без головы, читает файлы напрямую с диска и возвращает ответ в stdout. Ключевой момент: он аутентифицируется с подпиской ChatGPT, так что это не API OpenAI с посекундной оплатой — это тот тариф, который вы уже оплачиваете.

Требования

  • Node.js 18+

  • Codex CLI, выполнен вход с вашим аккаунтом ChatGPT:

npm install -g @openai/codex
codex login          # choose "Sign in with ChatGPT"

Установка

git clone https://github.com/spe-investigator/ask-chat-mcp.git c:\src\ask-chat-mcp
cd c:\src\ask-chat-mcp
.\install.ps1 -DefaultCwd c:\src\YourProject

install.ps1 проверяет предварительные условия, собирает проект, сообщает, установлен ли Codex и выполнен ли вход, и регистрирует сервер в Claude Code. Идемпотентен — можно повторно запускать после pull.

Перезапустите Claude Code и подтвердите с помощью /mcp.

Инструменты

ask_chatgpt

Параметр

Обязателен

Значение

question

да

Проблема, сформулированная так, чтобы быть самодостаточной для того, кто не видел этот код. Пишите на полной технической глубине — читатель — другой специалист

files

нет

Пути относительно cwd, на которые указать ChatGPT. Свободно ссылайтесь на целые файлы — они читаются, а не вставляются

cwd

нет

Каталог, из которого он читает. Доступ к файлам ограничен этим деревом

session

нет

Управление потоком — см. ниже. Опустите для обычного случая

model

нет

например, gpt-5.5. Опустите для значения по умолчанию Codex

timeout_seconds

нет

По умолчанию 300

Передавайте пути, а не содержимое. В этом вся суть: нет бюджета полезной нагрузки, который нужно тратить, поэтому отправляйте реальные файлы.

files — это указатель, а не белый список. Он говорит начни здесь; ChatGPT может и будет открывать всё остальное, что ему нужно, в пределах cwd, и сообщит вам, когда это сделает. Так что неполный список деградирует gracefully, а не даёт неверный ответ — cwd — это настоящая граница.

Потоки

По умолчанию первый вызов в сессии запускает поток Codex, и каждый последующий вызов продолжает его, так что ChatGPT сохраняет контекст того, что вы уже обсуждали, а не встречает каждый вопрос холодно.

Граница сессии — это процесс сервера. MCP-клиент порождает stdio-сервер на каждую сессию, поэтому поток хранится в памяти и не нуждается в реестре, привязанном к репозиторию или клиенту: новая сессия начинается с чистого листа, а две параллельные сессии получают независимые потоки, а не топчут общий.

session

Эффект

опущено

Продолжить поток этой сессии, начав новый, если его нет

new

Намеренно начать чистый поток

last

Подхватить самый последний поток в этом каталоге из более ранней сессии

id потока

Возобновить этот конкретный поток

last ограничен каталогом, потому что Codex фильтрует записанные сессии по рабочему каталогу, если не указано иное.

chatgpt_status

Сообщает, установлен ли Codex и выполнен ли вход, и на каком потоке находится эта сессия. Проверяйте перед тем, как полагаться на ask_chatgpt, и чтобы объяснить сбой без догадок.

Конфигурация

Переменная

По умолчанию

Назначение

ASK_CHAT_DEFAULT_CWD

cwd сервера

Каталог, используемый, когда вызов не указывает его

ASK_CHAT_TIMEOUT_SECONDS

300

Таймаут по умолчанию

ASK_CHAT_MODEL

по умолчанию Codex

Модель по умолчанию

ASK_CHAT_CODEX_BIN

codex

Путь к бинарнику Codex

CODEX_HOME

~/.codex

Где Codex хранит учётные данные

Заметки по дизайну

Только чтение. Codex — это кодинг-агент, который может редактировать файлы. Консультирующий специалист, который может переписать ваше рабочее дерево, — это обуза, а не фича. codex exec уже по умолчанию работает в песочнице только для чтения, а на новом потоке также передаётся явный --sandbox read-only, так что гарантия не зависит от того, что значение по умолчанию останется прежним. На возобновлённом потоке этот флаг недоступен — см. ниже.

Каждый ответ сообщает о своей достаточности. Промпт просит ChatGPT явно указать, достаточно ли полученного контекста, точно назвать, чего ему ещё не хватало — файла, определения, измерения, ограничения — и отметить, какие части ответа опираются на допущение, которое ему пришлось сделать. Это важнее, чем звучит: режим отказа хорошо проинструктированной модели — не отказ отвечать, а уверенный ответ вокруг пробела, о котором никто не знал. Название пробела делает следующий вызов тривиальным, поскольку предоставление файла стоит пути.

Ни один флаг не передаётся на веру. Установленная сборка проверяется один раз, и необязательные флаги используются только в том случае, если она их объявляет. Codex быстро развивается; угадывать его интерфейс было бы хрупко без выгоды.

exec и exec resume проверяются отдельно, потому что они не принимают одинаковые параметры — resume отклоняет --sandbox и --cd наотрез. Предположение одного набора флагов для обоих приводит к вызову, который умирает при разборе аргументов, вместо того чтобы что-то сделать — именно так это и было обнаружено. На возобновлённом потоке гарантия только для чтения поэтому опирается на значение по умолчанию codex exec плюс политику, под которой был создан поток, а не на второй явный флаг; рабочий каталог в любом случае берётся из порождённого процесса.

Ни в одном направлении нет ограничения длины. Промпт передаётся через stdin с помощью codex exec -, поэтому он никогда не попадает в командную строку и не может упереться в потолок аргументов ~32k. Ответ возвращается через --output-last-message, читается из файла, а не извлекается из потока, который также несёт вывод прогресса. Прогресс идёт в stderr и сохраняется для диагностики.

Обработка шима Windows. npm устанавливает codex как .cmd-шим, который Node отказывается запускать напрямую после исправления инъекции аргументов 2024 года. Неудачный прямой запуск повторяется через оболочку. Поскольку промпт передаётся через stdin, а не через argv, этот повтор не представляет опасности цитирования для единственного ввода, который является произвольным текстом.

Ограничения

  • Codex должен быть выполнен вход. codex login — это интерактивный браузерный процесс; его нельзя автоматизировать, и chatgpt_status сообщит вам, когда он истёк.

  • Доступ к файлам ограничен cwd. Намеренно. Укажите корень репозитория, который вы хотите просмотреть.

  • Это не быстро. Содержательный ответ по реальным файлам занимает десятки секунд. Таймаут по умолчанию — пять минут.

  • Поток живёт и умирает вместе с сессией. Перезапуск клиента начинает новый поток. session: "last" подхватывает предыдущий, но нет списка предыдущих потоков, из которого можно выбирать.

  • Потоки не видны в ChatGPT. Codex записывает их в ~/.codex/sessions/ как JSONL; они не появляются в боковой панели ChatGPT или в Projects. Ничто в этом дизайне не может это изменить (openai/codex#21079).

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/spe-investigator/ask-chat-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server