Skip to main content
Glama
moosin76

Windows Scoped Remote MCP Server

by moosin76

🛡️ Windows Scoped Remote MCP Server

Это безопасный изолированный сервер удаленной разработки MCP (Model Context Protocol), работающий в среде Windows.
Интегрируясь с современными LLM-клиентами, такими как ChatGPT, Claude, он может автономно выполнять создание/изменение файлов, выполнение команд PowerShell, сборку и отладку проектов в пределах указанного локального рабочего пространства — только с помощью диалога.


📌 Ключевые особенности

  • Оптимизированная для Windows песочница (SandboxGuard):

    • Полностью блокирует (100%) доступ к файлам/папкам и выполнение команд за пределами указанного каталога MCP_WORKSPACE_ROOT.

  • Интеграция со стандартом ChatGPT OAuth 2.1 (RFC 8414 / RFC 9728 / DCR / PKCE):

    • Предоставляет динамическую регистрацию клиентов (DCR) и интерактивную страницу безопасного подтверждения (/authorize), обеспечивая безопасное подключение только авторизованных пользователей, знающих парольный токен (MCP_AUTH_TOKEN).

  • 19 полнофункциональных инструментов разработки MCP и спецификация OpenAPI 3.0:

    • Полная поддержка CRUD для файлов и каталогов, применения патчей (apply_patch), асинхронных процессов и выполнения PowerShell/CMD, мониторинга состояния.

  • Связь Zero Trust на основе Cloudflare Tunnel:

    • Обеспечивает безопасную HTTPS-конечную точку через Cloudflare Tunnel без сложной переадресации портов или открытия брандмауэра.

  • Поддержка переключения проектов без остановки работы:

    • Просто измените MCP_WORKSPACE_ROOT в .env, и рабочая папка будет немедленно переключена с сохранением существующей сессии аутентификации ChatGPT.


🏗️ Системная архитектура

┌────────────────────────────────────────────────────────┐
│                   ChatGPT (Web / App)                  │
└───────────────────────────┬────────────────────────────┘
                            │ HTTPS (Streamable HTTP / OAuth 2.1)
                            ▼
┌────────────────────────────────────────────────────────┐
│        Cloudflare Zero Trust Tunnel (mcp.yourdomain)   │
└───────────────────────────┬────────────────────────────┘
                            │ Local Proxy (HTTP localhost:<MCP_PORT>)
                            ▼
┌────────────────────────────────────────────────────────┐
│            Windows Scoped Remote MCP Server            │
│  ┌──────────────────────────────────────────────────┐  │
│  │ Express Router (/mcp, /authorize, /openapi.json) │  │
│  └────────────────────────┬─────────────────────────┘  │
│                           │                            │
│  ┌────────────────────────▼─────────────────────────┐  │
│  │   SandboxGuard & ProcessManager & FileService    │  │
│  └────────────────────────┬─────────────────────────┘  │
└───────────────────────────┼────────────────────────────┘
                            │ 격리된 파일 & 명령어 실행
                            ▼
┌────────────────────────────────────────────────────────┐
│       내 로컬 작업 공간 (MCP_WORKSPACE_ROOT)            │
│      예: D:\Godot\mcp-test 또는 D:\Godot\MyGame         │
└────────────────────────────────────────────────────────┘

🛠️ Список предоставляемых инструментов (всего 30 инструментов)

🌐 1. Инструменты автоматизации браузера и веб-тестирования (8 инструментов Playwright)

Инструмент (Tool)

Описание

browser_navigate

Переход браузера по адресу веб-сайта (URL) и загрузка страницы

browser_screenshot

Захват снимка экрана текущей веб-страницы и сохранение файла изображения (PNG) в рабочую папку

browser_click

Щелчок мышью по определенному HTML-элементу, например кнопке, ссылке

browser_fill

Автоматический ввод текста в строку поиска, формы ввода

browser_get_content

Извлечение текстового содержимого или HTML-исходного кода веб-страницы

browser_evaluate

Выполнение кода JavaScript (JS) в консоли браузера и сбор результатов

browser_press_key

Ввод клавиш клавиатуры (Enter, Tab, Escape, стрелки и т. д.)

browser_close

Завершение сеанса браузера и освобождение памяти

📂 2. Инструменты управления несколькими рабочими пространствами (3 инструмента)

Инструмент (Tool)

Описание

list_workspaces

Просмотр списка всех зарегистрированных рабочих пространств, псевдонимов (Alias) и статуса активации

get_active_workspace

Просмотр имени и абсолютного пути текущего активного рабочего пространства по умолчанию

switch_workspace

Переключение активного рабочего пространства в реальном времени по псевдониму (Alias) или пути

📁 3. Инструменты работы с файлами и кодом (11 инструментов)

Инструмент (Tool)

Описание

list_directory

Просмотр списка файлов и подкаталогов по указанному пути

read_file

Чтение текстового файла (поддержка смещения и чтения по частям)

write_file

Создание нового файла, перезапись/дозапись

edit_file

Точное изменение кода по номерам строк и блокам

replace_in_file

Поиск строки и массовая/одиночная замена целевого текста

apply_patch

Применение патча к файлу в стандартном формате Unified Diff / Patch

make_directory

Создание нового каталога

delete_file

Удаление файла и пустого каталога

move_file

Перемещение файла/папки и переименование

copy_file

Копирование файла/папки

stat_path

Просмотр метаданных файла/папки: размер, дата изменения, атрибуты

⚡ 4. Инструменты выполнения команд терминала и скриптов (8 инструментов)

Инструмент (Tool)

Описание

search_files

Поиск имен файлов по шаблону Glob

find_in_files

Быстрый поиск текста и регулярных выражений внутри файлов

exec_command

Выполнение команды PowerShell или CMD и возврат результата

run_script

Выполнение скриптов PowerShell, Batch, Node.js, Python

read_process_output

Чтение буфера вывода длительно выполняющегося фонового процесса

write_process_input

Отправка данных на стандартный ввод (stdin) выполняющегося процесса

stop_process

Завершение фонового процесса

list_processes

Просмотр списка и состояния текущих выполняющихся процессов


⚙️ 1. Руководство по настройке окружения (.env)

Скопируйте файл .env.example в корне проекта, создайте файл .env и настройте его:

copy .env.example .env

📋 Подробное описание основных параметров настройки

Переменная окружения

Значение по умолчанию / пример

Обязательность

Описание

MCP_PORT

12000

Необязат.

Номер порта, на котором локально будет запущен сервер Express (по умолчанию: 12000)

MCP_WORKSPACE_ROOTS

test:C:\path\to\mcp-test, ether:C:\path\to\ether-chronicle

Обязательно

Несколько рабочих пространств, которыми может управлять ChatGPT (псевдоним:путь)

MCP_AUTH_TOKEN

your_secure_password

Обязательно

Безопасный пароль, который необходимо ввести на странице подтверждения OAuth ChatGPT (/authorize)

MCP_PUBLIC_URL

https://mcp.yourdomain.com

Обязательно

Публичный HTTPS-адрес, доступный извне через Cloudflare Tunnel

CLOUDFLARE_TUNNEL_TOKEN

your_tunnel_token

Необязат.

Постоянный токен туннеля, выданный на панели управления Cloudflare Zero Trust

MCP_DEFAULT_SHELL

powershell

Необязат.

Оболочка по умолчанию при выполнении exec_command (powershell, cmd, pwsh)

MCP_MAX_FILE_CHUNK_BYTES

1048576 (1MB)

Необязат.

Максимальный размер чтения за один раз для read_file

MCP_MAX_EDIT_FILE_BYTES

67108864 (64MB)

Необязат.

Максимальный размер файла, который можно изменить с помощью edit_file / write_file

MCP_MAX_OUTPUT_BYTES

1048576 (1MB)

Необязат.

Максимальный размер буфера вывода при выполнении команд терминала

# [Server Port]
MCP_PORT=12000

# [Multi-Root Security & Directory Sandbox]
MCP_WORKSPACE_ROOTS=test:C:\path\to\mcp-test, ether:C:\path\to\ether-chronicle, server:C:\path\to\localRemoteMcp

# [Authentication - ChatGPT OAuth 2.1]
MCP_AUTH_TOKEN=your_secure_password_here

# [Public Domain & Cloudflare Tunnel]
MCP_PUBLIC_URL=https://mcp.yourdomain.com
CLOUDFLARE_TUNNEL_TOKEN=your_cloudflare_tunnel_token_here

# [Shell Configuration]
MCP_DEFAULT_SHELL=powershell

# [Limits - Safety Guardrails]
MCP_MAX_FILE_CHUNK_BYTES=1048576
MCP_MAX_EDIT_FILE_BYTES=67108864
MCP_MAX_OUTPUT_BYTES=1048576

🌐 2. Интеграция Cloudflare Tunnel и домена

Данный сервер безопасно предоставляет доступ к локальному порту (MCP_PORT, по умолчанию: 12000), указанному в .env, через туннель Cloudflare Zero Trust на поддомене вашего домена (https://mcp.yourdomain.com).

🔌 Настройка на панели управления Cloudflare

  1. Перейдите в Cloudflare Zero Trust DashboardNetworksTunnels.

  2. Нажмите [Create a tunnel], чтобы создать туннель Cloudflared.

  3. Добавьте Public Hostname:

    • Subdomain: mcp (или желаемый поддомен)

    • Domain: yourdomain.com (выберите ваш домен)

    • Service Type: HTTP

    • URL: localhost:<MCP_PORT> (например: localhost:12000)

  4. Скопируйте выданный токен туннеля (Token) и вставьте его в поле CLOUDFLARE_TUNNEL_TOKEN в .env.


📦 3. Информация о бинарном файле Cloudflare (bin/cloudflared.exe)

Данный проект использует бинарный файл cloudflared.exe для автоматического запуска туннеля.

  • Поддержка автоматической загрузки (рекомендуется):

    • При первом запуске start.bat или start.ps1, если bin/cloudflared.exe отсутствует, последняя версия бинарного файла будет автоматически загружена из официального релиза Cloudflare GitHub и размещена в нужном месте.

    • Пользователю не нужно загружать что-либо отдельно — достаточно запустить start.bat.

  • Ручная загрузка (офлайн / среда с брандмауэром):


🚀 4. Способы запуска сервера

Способ A. Автоматический запуск в один клик (start.bat / рекомендуется)

Дважды щелкните start.bat или выполните его в консоли:

start.bat

(Автоматически выполняет установку пакетов npm ➔ проверку .env ➔ проверку бинарного файла cloudflared ➔ сборку TypeScript и запуск сервера + туннеля одним действием)

Способ B. Ручной запуск в терминале

# 1. 의존성 설치
npm install

# 2. TypeScript 컴파일
npm run build

# 3. 테스트 실행
npm test

# 4. 서버 시작
npm start

🤖 5. Руководство по подключению приложения / плагина ChatGPT (пошагово)

Шаг 1. Регистрация приложения ChatGPT

  1. Войдите на ChatGPT Web и перейдите в [Настройки] ➔ [Плагины / Режим разработчика].

  2. Нажмите [+ Создать новый плагин / приложение].

  3. Введите значения настроек следующим образом:

    • Имя: my-remote (или желаемое имя)

    • Подключение (Connection): URL сервераhttps://mcp.yourdomain.com/mcp (ваш домен)

    • Аутентификация (Authentication): выберите OAuth

  4. Нажмите [Создать].

Шаг 2. Безопасное подтверждение входа

  1. На экране сведений о зарегистрированном приложении нажмите кнопку [Подключить ➔].

  2. Во всплывающем окне браузера появится веб-страница [Подтверждение Windows Scoped Remote MCP].

  3. Введите значение MCP_AUTH_TOKEN, заданное в .env, в поле ввода пароля и нажмите [Подтвердить и вернуться в ChatGPT].

Шаг 3. Настройка разрешений ("Разрешить все действия")

  • Установите параметр Разрешения (Permissions) на экране сведений о приложении в значение Разрешить все действия.

  • (ChatGPT будет автономно выполнять разработку без всплывающего окна подтверждения при каждом вызове инструмента)


💬 6. Примеры практических диалоговых промптов для разработки

В новом окне чата (или в окне чата @ плагин) можно дать следующие указания:

# 1. 프로젝트 파일 목록 및 구조 파악
@my-remote 현재 작업 공간의 파일과 폴더 목록을 정리해서 보여줘

# 2. 웹 게임 / 프론트엔드 프로젝트 개발
@my-remote HTML5 Canvas로 브라우저에서 실행 가능한 레트로풍 벽돌깨기 게임(breakout.html)을 세련되게 만들어줘

# 3. Godot 4 게임 스크립트 작성
@my-remote Godot 4 기준으로 2D 캐릭터 이동, 대시, 점프 및 물리 충돌을 처리하는 Player.gd를 작성해줘

# 4. 패키지 설치 및 테스트 실행
@my-remote npm install 명령어로 필요한 라이브러리를 설치하고 npm test를 돌려 결과를 확인해줘

# 5. 웹 브라우저 자동화 & 화면 캡처 (Playwright)
@my-remote 네이버(naver.com)로 이동해서 검색창에 'Godot Engine 4' 검색하고 결과 페이지 스크린샷 찍어서 search.png로 저장해줘

# 6. 내가 만든 로컬 웹페이지 실시간 검증
@my-remote 로컬 웹서버를 실행하고 브라우저로 접속해서 [게임 시작] 버튼을 누른 다음 화면이 잘 나오는지 스크린샷으로 확인해줘

📂 7. Управление несколькими проектами и переключение в реальном времени

Данный сервер поддерживает несколько рабочих пространств (Multi-Workspace), поэтому можно одновременно зарегистрировать несколько проектов и переключаться между ними в реальном времени во время диалога.

Способ A. Переключение в реальном времени через диалог с ChatGPT (без перезагрузки сервера ⭐)

  1. Проверка текущего рабочего пространства:

    @my-remote 현재 작업 공간이 어디로 설정되어 있는지 확인해줘
  2. Просмотр списка всех зарегистрированных проектов:

    @my-remote 등록된 모든 워크스페이스 목록을 보여줘
  3. Немедленное переключение рабочего пространства:

    @my-remote ether 프로젝트로 작업 공간을 전환해줘

    (ChatGPT вызывает инструмент switch_workspace(name: "ether") и немедленно переключается на указанный проект без перезагрузки сервера)

Способ B. Добавление нового проекта (.env)

  1. Добавьте новый псевдоним и путь проекта в MCP_WORKSPACE_ROOTS в файле .env:

    MCP_WORKSPACE_ROOTS=test:C:\path\to\mcp-test, ether:C:\path\to\ether-chronicle, mygame:C:\path\to\mygame
  2. Повторно запустите start.bat в терминале, и добавленные проекты станут немедленно доступны для доступа и переключения. (Сессия токена аутентификации OAuth сохраняется постоянно)


🔒 8. Безопасность и устранение неполадок

  • Вопрос. Есть ли риск несанкционированного доступа посторонних лиц к моему компьютеру?

    • Защита обеспечивается трехуровневой структурой безопасности:

      1. Аутентификация по паролю: доступ возможен только с вашей учетной записи ChatGPT, знающей пароль MCP_AUTH_TOKEN.

      2. Изоляция песочницы: файлы и команды работают только в пределах указанного MCP_WORKSPACE_ROOT; при попытке доступа к родительским путям доступ немедленно блокируется.

      3. Cloudflare Zero Trust: на панели управления Cloudflare можно добавить правила брандмауэра, разрешающие доступ только с вашего IP-адреса.

  • Вопрос. Что делать, если туннель не подключается или возникает ошибка 502:

    • Проверьте в окне start.bat, что локальный сервер (port: MCP_PORT из .env)正常运行, и откройте в браузере https://mcp.yourdomain.com/health, чтобы убедиться, что возвращается ответ { status: "ok" }.


📄 Лицензия

MIT License

-
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

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • Persistent cloud development environments that coding agents create, run and test software in.

  • Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.

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/moosin76/windows-scoped-remote-mcp-server'

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