Skip to main content
Glama
moosin76

Windows Scoped Remote MCP Server

by moosin76

🛡️ Windows Scoped Remote MCP Server

Это безопасный изолированный сервер удаленной разработки MCP (Model Context Protocol), работающий в среде Windows.

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

Кроме того, можно подключать отдельные Remote MCP, такие как Godot, Blender и другие, в качестве Provider, что позволяет использовать различные инструменты разработки через единый Gateway.

❤️ Поддержка проекта

Если WSR оказался полезным, вы можете поддержать проект через GitHub Sponsors.

💖 Поддержать через GitHub Sponsors

Спонсорские средства используются для поддержки WSR и разработки новых MCP Provider и функций.


Основные возможности

  • Windows SandboxGuard — ограничивает выполнение файлов и команд в пределах заданных границ Workspace.

  • Multi-Workspace — можно регистрировать несколько проектов и переключать активный Workspace.

  • Управление файлами/кодом — поддержка просмотра, создания, изменения, перемещения, копирования, удаления, применения patch и т.д.

  • PowerShell / CMD / управление процессами — выполнение команд разработки и управление фоновыми процессами.

  • Автоматизация браузера Playwright — открытие реального браузера, навигация, ввод, клики, скриншоты и т.д.

  • Remote MCP Provider — возможность добавления любых MCP, таких как Godot, Blender, в Gateway.

  • Изоляция сбоев Provider — даже если один MCP отключен, WSR Core и другие Provider продолжают работать.

  • Provider Scheduler — периодическая проверка состояния подключения MCP и tools/list, автоматическое переподключение и обновление Tool Registry.

  • Поддержка OAuth 2.1 / Cloudflare Tunnel — конфигурация для безопасного подключения удаленных MCP-клиентов.

  • MCP 2026-07-28 + совместимость с legacy — поддержка современных stateless-запросов на основе server/discover и потока initialize 2025 года на одном и том же endpoint /mcp.


Related MCP server: local-mcp

Архитектура

                         ChatGPT / Claude
                                │
                         MCP / HTTPS
                                │
                       Cloudflare Tunnel
                                │
                                ▼
                 Windows Scoped Remote MCP Server
                                │
              ┌─────────────────┼─────────────────┐
              │                 │                 │
           Workspace        Playwright          Providers
              │                 │                 │
       Files / Process      Browser tools    ┌────┼─────┐
                                             │    │     │
                                           Godot Blender ...
                                             │    │
                                         godot_* blender_*

WSR сам выполняет роль Gateway, а внешние MCP подключаются через RemoteMcpProvider.

Уровень HTTP MCP использует createMcpHandler из официального TypeScript SDK v2. Для клиентов 2026-07-28 предоставляется server/discover и envelope _meta для каждого запроса, а для существующих клиентов — fallback на stateless initialize эпохи 2025 с теми же определениями tools.

POST /mcp
  ├─ MCP 2026-07-28 → server/discover / per-request envelope
  └─ MCP 2025-era  → initialize / notifications/initialized

Remote MCP Provider

Поскольку каждому пользователю нужны разные MCP, WSR не привязан к какому-либо конкретному MCP.

Например:

WSR
├── Godot MCP
├── Blender MCP
├── Playwright
└── 사용자가 추가한 MCP

Для каждого Provider используется namespace.

MCP

Пример Namespace

Godot

godot_*

Blender

blender_*

Browser

browser_*

Новый MCP

<provider>_*

Например, get_scene из Blender MCP отображается в WSR как blender_get_scene.

Самый простой способ добавить MCP

После получения проекта можно попросить ChatGPT сделать следующее:

이 windows-scoped-remote-mcp-server 프로젝트에 Blender MCP를 추가해줘.
AGENT.md와 skills/add-remote-mcp-provider/SKILL.md를 먼저 읽고
기존 RemoteMcpProvider / ProviderRegistry 구조를 따라 작업해줘.
Blender MCP의 연결 방법과 필요한 설정을 확인하고
blender_* namespace를 사용해줘.
테스트와 문서도 업데이트하고 typecheck와 전체 테스트까지 실행해줘.

Подробная процедура описана в skills/add-remote-mcp-provider/SKILL.md.


WSR продолжает работать, даже если Provider отключен

Remote MCP — это опциональная зависимость.

Godot MCP OFF
     │
     ▼
Godot Provider = unavailable
     │
     ├── WSR Core       → 계속 사용 가능
     ├── Playwright     → 계속 사용 가능
     └── 다른 Provider  → 계속 사용 가능

Сбой подключения Provider не приводит к завершению всего WSR.

Если при вызове tool, специфичного для Provider, соединение отсутствует, возвращается понятная ошибка.

MCP provider 'godot' (godot) is not connected.
Start the godot MCP server/editor and try again.

Текущее состояние можно проверить с помощью tool mcp_provider_status.


Provider Scheduler

WSR запускает ProviderScheduler в фоновом режиме для непрерывного управления состоянием Remote MCP.

                    ProviderScheduler
                           │
             ┌─────────────┴─────────────┐
             ▼                           ▼
        CONNECTED                    UNAVAILABLE
             │                           │
        tools/list                    reconnect
             │                           │
       변경 여부 확인                tools/list
             │                           │
             └─────────────┬─────────────┘
                           ▼
                    Tool Registry 갱신

Значения по умолчанию:

  • Проверка работоспособности подключенного Provider: 10 секунд

  • Повторная попытка для неподключенного Provider: 5 секунд

Их можно изменить через переменные окружения.

MCP_PROVIDER_HEALTH_INTERVAL_MS=10000
MCP_PROVIDER_RETRY_INTERVAL_MS=5000

Автоматическое отслеживание включения/выключения MCP

WSR 실행
   ↓
Godot OFF
   ↓
Provider unavailable
   ↓
Godot 실행
   ↓
Scheduler가 자동 발견
   ↓
tools/list
   ↓
godot_* Tool Registry 갱신

Поэтому нет необходимости перезапускать сам WSR для включения или повторного запуска Provider.

Если определения tools Remote MCP изменились, результаты tools/list сравниваются и snapshot Registry также обновляется.

Поскольку текущий HTTP-уровень имеет структуру, в которой Server конфигурируется для каждого MCP-запроса, последний Tool Registry отражается в следующем запросе tools/list. Уведомление tools/list_changed для немедленного оповещения UI клиента в долгосрочных сессиях может быть расширено вместе с будущей структурой управления сессиями.


Multi-Workspace

Несколько проектов можно управлять в одном WSR.

MCP_WORKSPACE_ROOTS=game:D:\Godot\MyGame,tools:D:\project\tools,reference:D:\project\reference
MCP_WORKSPACE_ROOT=D:\Godot\MyGame

Текущий активный Workspace используется как основной объект работы, а другие зарегистрированные Workspace можно использовать через функцию кросс-Workspace, ориентированную на чтение/поиск/анализ/копирование.

Доступ к файлам и командам за пределами границ Workspace блокируется SandboxGuard.


Playwright

Playwright интегрирован, что позволяет управлять реальным браузером через MCP.

ChatGPT
   ↓
"브라우저에서 페이지를 열고 버튼을 눌러줘"
   ↓
WSR
   ↓
Playwright
   ↓
실제 브라우저

Примеры поддержки:

  • Переход по URL

  • Клик по элементам

  • Ввод/заполнение форм

  • Ввод с клавиатуры

  • Просмотр содержимого страницы

  • Выполнение JavaScript

  • Скриншоты

  • Управление сессиями браузера


Установка

git clone <repository-url>
cd windows-scoped-remote-mcp-server
npm install
copy .env.example .env
npm run build
npm test

В Windows также поддерживается использование start.bat.

start.bat

Основные переменные окружения

Переменная

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

Описание

MCP_PORT

12000

Порт HTTP-сервера WSR

MCP_WORKSPACE_ROOT

текущий путь

Активный Workspace

MCP_WORKSPACE_ROOTS

MCP_WORKSPACE_ROOT

Список Multi-Workspace

MCP_AUTH_TOKEN

нет

Токен для аутентификации

MCP_PUBLIC_URL

нет

Публичный MCP URL

CLOUDFLARE_TUNNEL_TOKEN

нет

Токен Cloudflare Tunnel

MCP_BROWSER_HEADLESS

false

Режим Headless Playwright

MCP_PROVIDER_HEALTH_INTERVAL_MS

10000

Период проверки подключенного Provider (мс)

MCP_PROVIDER_RETRY_INTERVAL_MS

5000

Период переподключения неподключенного Provider (мс)

MCP_GODOT_ENABLED

false

Активация Godot MCP Provider

MCP_GODOT_URL

http://127.0.0.1:8000/mcp

Endpoint Godot MCP

Чувствительные токены и пароли храните только в .env и не коммитьте их в Git.


Разработка

npm run typecheck
npm test
npm run build

MCP SDK использует структуру раздельных пакетов v2.

  • Сервер и createMcpHandler: @modelcontextprotocol/server

  • Node/Express adapter: @modelcontextprotocol/node

  • Клиент Remote Provider: @modelcontextprotocol/client

  • Совместимый слой существующего встроенного OAuth Authorization Server: @modelcontextprotocol/server-legacy/auth

Последний пункт — это официальный мост миграции v1→v2, и он находится в статусе deprecated. Он сохраняется для восстановления discovery и сохранения существующего поведения OAuth, но в долгосрочной перспективе его следует выделить в отдельную библиотеку OAuth/IdP.

При добавлении нового MCP Provider рекомендуется сначала прочитать следующие документы:

  • AGENT.md — правила работы над проектом

  • docs/mcp-gateway-architecture.md — структура Gateway / Provider

  • skills/add-remote-mcp-provider/SKILL.md — процедура добавления MCP

  • skills/test-mcp-provider/SKILL.md — тестирование Provider

  • skills/debug-mcp-gateway/SKILL.md — устранение неполадок MCP


Реальные примеры проверки

В настоящее время WSR проверен в реальном подключении к Godot MCP со следующими задачами:

ChatGPT
  ↓
WSR
  ↓
Godot MCP
  ↓
Godot Editor
  ↓
Scene 생성 / 수정 / 저장

Тестовая Scene:

res://mcp_test.tscn

McpTest (Node3D)
├── TestCube (MeshInstance3D)
├── Camera3D
└── DirectionalLight3D

Этот поток — показательный тестовый пример того, что WSR — это не просто файловый MCP, а Gateway, соединяющий реальные инструменты разработки.


Принципы безопасности

Поскольку WSR предоставляет мощные функции для автоматизации разработки, эти принципы считаются важными:

  • Доступ за пределы Workspace ограничивается SandboxGuard.

  • Права кросс-Workspace разделены, чтобы нельзя было изменять другие Workspace.

  • Токены аутентификации и токены Cloudflare Tunnel не хранятся в исходном коде.

  • Функции безопасности не описываются как абсолютная гарантия, а объясняются на основе установленных границ и модели разрешений.

  • Сбой одного удаленного MCP Provider изолируется, чтобы не привести к сбою всего Gateway.


License

MIT License

Provider

Endpoint

Transport

Tools

Godot

http://127.0.0.1:8000/mcp

Streamable HTTP

45

PostgreSQL (CrystalDBA postgres-mcp)

http://127.0.0.1:10021/sse

legacy SSE

9

Для активации PostgreSQL Provider задайте следующие значения в корневом .env:

MCP_POSTGRESQL_ENABLED=true
MCP_POSTGRESQL_URL=http://127.0.0.1:10021/sse

Среда запуска Docker находится в mcp-servers/postgres-mcp/, а фактический DATABASE_URI хранится только в .env этого каталога. Пароль БД и реальные строки подключения не коммитятся в Git.

9 tools, предоставляемых PostgreSQL MCP, после применения namespace WSR отображаются в форме postgresql_*. При реальном подключении были подтверждены list_schemas, list_objects, get_object_details, explain_query, analyze_workload_indexes, analyze_query_indexes, analyze_db_health, get_top_queries, execute_sql.

Подробные инструкции по установке/эксплуатации см. в docs/postgresql-mcp-provider.md и mcp-servers/postgres-mcp/README.md.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to perform local development tasks on Windows by reading and editing files, running commands, and controlling browser and desktop tools, all within isolated workspaces. Supports secure remote access via an optional tunnel for ChatGPT clients.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to securely inspect, modify, and manage local projects with trusted filesystem access, safe Git operations, controlled task execution, and developer runtime process management over stdio or HTTP.
    4
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to safely perform file operations, run terminal sessions, manage processes, search content, and inspect Git repositories on a local Windows machine under configurable permission and audit controls.
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to safely work on Windows developer workstations through governed, project-scoped filesystem access, durable command execution, bounded search, Windows operations, and resource-aware runtime controls. It also supports optional developer-context backends for code navigation, repository graph exploration, and memory retrieval.
    Apache 2.0