Skip to main content
Glama

chatgpt-mcp

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

ChatGPT / MCP client
        |
        | MCP 2026-07-28
        v
chatgpt-mcp
        |
        | typed ComputerAdapter seam
        v
local operating system

ChatGPT выбирает, какой инструмент вызвать. chatgpt-mcp проверяет вызов на соответствие локальной конфигурации возможностей и выполняет операцию. Это тонкий протокольный адаптер, а не второй планировщик, и он не добавляет собственный интерактивный цикл подтверждения.

Архитектура: SPEC.md. История поставки: PLAN.md. Подробное руководство по ChatGPT/туннелю: docs/CHATGPT.md.

Возможности

Все семейства, кроме system.info, подключаются по желанию. Отключённые семейства возможностей, где это практично, исключаются из обнаружения инструментов MCP.

Инструмент

Назначение

system.info

Информация о хосте/среде и сводка предоставленных возможностей

fs.list

Список разрешённой директории

fs.read

Чтение разрешённого UTF-8 текстового файла

fs.write

Создание, перезапись или добавление в разрешённый текстовый файл

fs.mkdir

Создание разрешённой директории

fs.move

Перемещение/переименование внутри разрешённых корней

fs.delete

Удаление внутри разрешённых корней

shell.exec

Запуск разрешённого исполняемого файла с массивом аргументов

process.list

Список видимых процессов

process.kill

Отправка сигнала PID

service.status

Чтение состояния разрешённой системной службы

service.control

Запуск, остановка или перезапуск разрешённой службы

app.launch

Запуск сконфигурированного именованного приложения

app.close

Закрытие приложения, ранее запущенного через его дескриптор

browser.open

Открытие разрешённой схемы URL

screen.capture

Захват рабочего стола как PNG-изображения MCP

input.move

Перемещение указателя рабочего стола

input.click

Клик указателем рабочего стола

input.type

Ввод литерального текста в сфокусированное приложение

input.key

Отправка последовательности клавиш в сфокусированное приложение

Требования

Основной сервер:

  • Linux

  • Node.js 22+

  • pnpm 11.20.0 (установщик получает закреплённую версию через Corepack или npx)

  • пользовательские службы systemd для постоянного туннеля, устанавливаемые ./install.sh

Необязательные команды хоста зависят от того, что вы включаете:

  • службы: systemctl

  • открытие браузера: xdg-open

  • ввод с рабочего стола: xdotool

  • скриншоты: один из grim, gnome-screenshot, scrot или ImageMagick import

Быстрый установщик может установить текущий официальный tunnel-client от OpenAI и распространённые вспомогательные инструменты для рабочего стола Debian/Ubuntu, если они отсутствуют.

Быстрая установка: ChatGPT + ваш Linux-компьютер

Для одного компьютера рекомендуемый путь:

ChatGPT Developer Mode
        |
OpenAI Secure MCP Tunnel
        |
        | outbound HTTPS
        v
tunnel-client on your computer
        |
        | stdio
        v
chatgpt-mcp

Не требуется публичный входящий слушатель.

Быстрый установщик намеренно использует config.full.example.json, который предоставляет широкий доступ под контролем владельца: чтение/запись файловой системы из /, доступ к исполняемым файлам по шаблону, управление процессами/службами, открытие браузера, скриншоты и ввод с рабочего стола, где это поддерживается. Если вам нужны более узкие полномочия, используйте config.example.json и ручную настройку.

1. Создайте туннель MCP OpenAI

Откройте:

https://platform.openai.com/settings/organization/tunnels

Создайте туннель и скопируйте его ID. Он выглядит так:

tunnel_0123456789abcdef0123456789abcdef

Для использования в ChatGPT свяжите туннель с рабочим пространством/учётной записью ChatGPT, которая должна его видеть.

Текущее разделение разрешений:

  • создание/редактирование/удаление туннеля: Tunnels Read + Manage

  • запуск tunnel-client или выбор туннеля в ChatGPT: Tunnels Read + Use

2. Создайте ключ API для выполнения

Откройте:

https://platform.openai.com/settings/organization/api-keys

Создайте обычный ключ API для выполнения. Не используйте Admin API ключ для долгоживущего демона туннеля.

Установщик запрашивает полученное значение sk-... со скрытым вводом в терминале и сохраняет его локально в .secrets/runtime-api-key с ограничительными правами доступа.

Зачем туннелю нужен ключ API?

Ключ аутентифицирует tunnel-client в плоскости управления туннелем OpenAI. Он доказывает, что локальному демону разрешено использовать выбранный туннель.

Он не используется chatgpt-mcp для вызова API модели OpenAI. В этой настройке ChatGPT уже является моделью/клиентом; Secure MCP Tunnel — это только частный транспорт, позволяющий этому разговору ChatGPT достичь локального MCP-сервера.

tunnel_...   = which tunnel this computer belongs to
sk-...       = permission for tunnel-client to use that tunnel

chatgpt-mcp не выполняет запросы /v1/responses или другие запросы на вывод модели с этим ключом выполнения. Биллинг API модели OpenAI отделён от использования подписки ChatGPT. Текущая документация Secure MCP Tunnel не публикует отдельный тариф на туннелирование; проверяйте актуальную документацию OpenAI, если это изменится.

3. Клонируйте и запустите установщик

git clone https://github.com/alexcodeplace/chatgpt-mcp.git
cd chatgpt-mcp
./install.sh

Установщик:

  • запрашивает ID туннеля и ключ API выполнения, если они ещё не предоставлены;

  • защищает оба значения в .secrets/;

  • получает закреплённый в проекте pnpm 11.20.0 без необходимости записываемого shim Corepack в /usr/bin;

  • устанавливает зависимости и запускает полный шлюз проекта;

  • создаёт config.local.json из шаблона с широким контролем;

  • устанавливает официальный tunnel-client от OpenAI, если он отсутствует на поддерживаемых архитектурах Linux;

  • устанавливает распространённые вспомогательные инструменты для рабочего стола на Debian/Ubuntu при необходимости;

  • инициализирует профиль туннеля chatgpt-computer;

  • использует эфемерный порт проверки работоспособности на loopback, чтобы существующая служба на порту 8080 не блокировала установку;

  • запускает tunnel-client doctor --explain;

  • устанавливает и запускает ~/.config/systemd/user/chatgpt-mcp-tunnel.service;

  • проверяет службу и диагностику туннеля.

Поддерживается также неинтерактивная установка:

export CONTROL_PLANE_TUNNEL_ID='tunnel_0123456789abcdef0123456789abcdef'
export CONTROL_PLANE_API_KEY='sk-...'
./install.sh --yes

Не помещайте ключ API непосредственно в командную строку ./install.sh ... и не коммитьте его в Git.

Чтобы пропустить установку необязательных пакетов для рабочего стола:

./install.sh --no-desktop

4. Добавьте его в ChatGPT

Пока служба туннеля запущена:

  1. В веб-версии ChatGPT откройте Settings → Security and login → Developer mode и включите его.

  2. Откройте https://chatgpt.com/plugins.

  3. Нажмите кнопку «плюс» и создайте приложение в режиме разработчика.

  4. В разделе Connection выберите Tunnel.

  5. Выберите созданный туннель или вставьте его tunnel_id, когда будет предложено.

  6. Включите новое приложение в разговоре.

  7. Первый тест: Use my computer MCP's system.info tool and report the hostname and enabled capabilities.

Если туннель не отображается в списке, проверьте его связь с рабочим пространством ChatGPT и разрешение Tunnels Read + Use.

Статус и удаление

./scripts/tunnel-status.sh

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

Удалите постоянную пользовательскую службу, оставив локальную конфигурацию/секреты нетронутыми:

./scripts/tunnel-uninstall.sh

Ручная установка / разработка

Репозиторий закрепляет pnpm 11.20.0. Corepack может принудительно использовать эту точную версию без corepack enable:

git clone https://github.com/alexcodeplace/chatgpt-mcp.git
cd chatgpt-mcp
corepack pnpm@11.20.0 install
corepack pnpm@11.20.0 gate

pnpm gate запускает проверку типов, поведенческие тесты и сборку TypeScript.

Если Corepack недоступен, используйте npx -y pnpm@11.20.0 вместо этого.

Настройка вручную

cp config.example.json config.local.json
export CHATGPT_MCP_CONFIG="$PWD/config.local.json"

Конфигурация по умолчанию предоставляет только system.info. См. config.example.json для каждого семейства возможностей. config.local.json и .secrets/ игнорируются Git.

Для намеренно широких полномочий скопируйте config.full.example.json вместо этого.

Запуск через stdio

corepack pnpm@11.20.0 build
CHATGPT_MCP_CONFIG="$PWD/config.local.json" node dist/src/stdio.js

stdout зарезервирован для трафика протокола MCP. Диагностика идёт в stderr.

Запуск через HTTP

corepack pnpm@11.20.0 build
CHATGPT_MCP_CONFIG="$PWD/config.local.json" corepack pnpm@11.20.0 start:http

Конечная точка по умолчанию:

http://127.0.0.1:3210/mcp

Проверка работоспособности:

curl http://127.0.0.1:3210/healthz

HTTP остаётся без состояния. Привязка не к loopback отклоняется, если явно не настроены разрешённые хосты.

Граница доверия

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

  • shell.exec использует прямой запуск исполняемого файла + массив аргументов без неявного sh -c.

  • Службы и приложения проверяются на соответствие настроенным полномочиям перед вызовом.

  • Схемы браузера проверяются перед открытием.

  • Ввод с рабочего стола и скриншоты — отдельные подключаемые возможности с ограниченными входами/выходами.

Полные контракты см. в SPEC.md.

Разработка

corepack pnpm@11.20.0 typecheck
corepack pnpm@11.20.0 test
corepack pnpm@11.20.0 build
corepack pnpm@11.20.0 gate

GitHub Actions запускает тот же шлюз при пушах и pull request'ах и проверяет синтаксис скриптов установщика.

Ограничения платформы

  • Конкретный адаптер ориентирован на Linux.

  • process.list использует ps.

  • service.* по умолчанию использует systemctl от systemd.

  • input.* использует xdotool; нативный Wayland может потребовать XWayland или будущий адаптер для конкретного композитора.

  • screen.capture поддерживает распространённые команды скриншотов Linux; разрешения рабочего стола/сеанса всё равно применяются.

  • Автоматический установщик нацелен на Linux amd64/arm64 и пользовательские службы systemd.

  • Внешний смоук-тест ChatGPT/туннеля требует собственной идентичности/учётных данных туннеля OpenAI оператора; CI репозитория не может их имитировать.

Ссылки на вышестоящие проекты

-
license - not tested
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (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

  • A paid remote MCP for AI agent browser approval MCP, built to return verdicts, receipts, usage logs,

  • Reasoning, code, anti-deception, memory harness MCP tools. Stdio or HTTPS api.ejentum.com/mcp

  • MCP server for Wan AI video generation

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/alexcodeplace/chatgpt-mcp'

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