ask-chat-mcp
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\YourProjectinstall.ps1 проверяет предварительные условия, собирает проект, сообщает, установлен ли Codex и выполнен ли вход, и регистрирует сервер в Claude Code. Идемпотентен — можно повторно запускать после pull.
Перезапустите Claude Code и подтвердите с помощью /mcp.
Инструменты
ask_chatgpt
Параметр | Обязателен | Значение |
| да | Проблема, сформулированная так, чтобы быть самодостаточной для того, кто не видел этот код. Пишите на полной технической глубине — читатель — другой специалист |
| нет | Пути относительно |
| нет | Каталог, из которого он читает. Доступ к файлам ограничен этим деревом |
| нет | Управление потоком — см. ниже. Опустите для обычного случая |
| нет | например, |
| нет | По умолчанию 300 |
Передавайте пути, а не содержимое. В этом вся суть: нет бюджета полезной нагрузки, который нужно тратить, поэтому отправляйте реальные файлы.
files — это указатель, а не белый список. Он говорит начни здесь; ChatGPT может и будет открывать всё остальное, что ему нужно, в пределах cwd, и сообщит вам, когда это сделает. Так что неполный список деградирует gracefully, а не даёт неверный ответ — cwd — это настоящая граница.
Потоки
По умолчанию первый вызов в сессии запускает поток Codex, и каждый последующий вызов продолжает его, так что ChatGPT сохраняет контекст того, что вы уже обсуждали, а не встречает каждый вопрос холодно.
Граница сессии — это процесс сервера. MCP-клиент порождает stdio-сервер на каждую сессию, поэтому поток хранится в памяти и не нуждается в реестре, привязанном к репозиторию или клиенту: новая сессия начинается с чистого листа, а две параллельные сессии получают независимые потоки, а не топчут общий.
| Эффект |
опущено | Продолжить поток этой сессии, начав новый, если его нет |
| Намеренно начать чистый поток |
| Подхватить самый последний поток в этом каталоге из более ранней сессии |
id потока | Возобновить этот конкретный поток |
last ограничен каталогом, потому что Codex фильтрует записанные сессии по рабочему каталогу, если не указано иное.
chatgpt_status
Сообщает, установлен ли Codex и выполнен ли вход, и на каком потоке находится эта сессия. Проверяйте перед тем, как полагаться на ask_chatgpt, и чтобы объяснить сбой без догадок.
Конфигурация
Переменная | По умолчанию | Назначение |
| cwd сервера | Каталог, используемый, когда вызов не указывает его |
|
| Таймаут по умолчанию |
| по умолчанию Codex | Модель по умолчанию |
|
| Путь к бинарнику 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).
This server cannot be installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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