Skip to main content
Glama
moosin76

Windows Scoped Remote MCP Server

by moosin76

🛡️ Windows Scoped Remote MCP Server

Es un servidor MCP (Model Context Protocol) de desarrollo remoto con aislamiento de seguridad que funciona en entornos Windows.

Puede conectarse a clientes LLM que admiten MCP, como ChatGPT, Claude, y manejar de forma interactiva archivos, terminales, procesos, navegadores y múltiples espacios de trabajo en un entorno de desarrollo real de Windows.

Además, puede conectar MCP remotos separados, como Godot, Blender, como proveedores, lo que permite usar varias herramientas de desarrollo juntas en una sola puerta de enlace.

❤️ Patrocinio del proyecto

Si WSR le ha resultado útil, puede patrocinar el proyecto a través de GitHub Sponsors.

💖 Patrocinar con GitHub Sponsors

El patrocinio se utiliza para el mantenimiento de WSR y el desarrollo de nuevos proveedores y funciones de MCP.


Características principales

  • Windows SandboxGuard — restringe la ejecución de archivos y comandos dentro de los límites del espacio de trabajo configurado.

  • Multi-Workspace — puede registrar varios proyectos y cambiar el espacio de trabajo activo.

  • Gestión de archivos/código — admite consulta, creación, modificación, movimiento, copia, eliminación, aplicación de parches, etc.

  • PowerShell / CMD / gestión de procesos — administra la ejecución de comandos de desarrollo y procesos en segundo plano.

  • Automatización de navegador Playwright — abre un navegador real y realiza navegación, entrada, clics, capturas de pantalla, etc.

  • Proveedor MCP remoto — puede agregar el MCP que desee, como Godot, Blender, a la puerta de enlace.

  • Aislamiento de fallos del proveedor — incluso si un MCP está apagado, el núcleo de WSR y otros proveedores pueden seguir usándose.

  • Programador de proveedores — verifica periódicamente el estado de conexión del MCP y tools/list, y realiza la reconexión automática y la actualización del registro de herramientas.

  • Compatibilidad con OAuth 2.1 / Cloudflare Tunnel — proporciona una configuración para conectarse de forma segura con clientes MCP remotos.

  • Compatibilidad con MCP 2026-07-28 + heredado — admite solicitudes sin estado modernas basadas en server/discover y el flujo initialize de 2025 en el mismo endpoint /mcp.


Related MCP server: local-mcp

Arquitectura

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

WSR en sí actúa como puerta de enlace, y los MCP externos se conectan a través de RemoteMcpProvider.

La capa HTTP MCP utiliza createMcpHandler del SDK oficial de TypeScript v2. Para los clientes 2026-07-28, proporciona server/discover y un sobre _meta por solicitud, y para los clientes existentes, proporciona un respaldo initialize sin estado de la era 2025 con las mismas definiciones de herramientas.

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

Proveedor MCP remoto

Dado que cada usuario necesita un MCP diferente, WSR no depende de un solo MCP específico.

Por ejemplo:

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

Cada proveedor utiliza un espacio de nombres.

MCP

Ejemplo de espacio de nombres

Godot

godot_*

Blender

blender_*

Browser

browser_*

Nuevo MCP

<provider>_*

Por ejemplo, get_scene del MCP de Blender se expone como blender_get_scene en WSR.

La forma más fácil de agregar un MCP

Después de obtener el proyecto, puede pedirle a ChatGPT lo siguiente:

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

Consulte skills/add-remote-mcp-provider/SKILL.md para conocer el procedimiento detallado.


WSR continúa ejecutándose incluso si el proveedor está apagado

El MCP remoto es una dependencia opcional.

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

WSR no se cierra por completo debido a un fallo de conexión del proveedor.

Si se llama a una herramienta específica del proveedor y no está conectado, se devuelve un error claro.

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

El estado actual se puede verificar con la herramienta mcp_provider_status.


Programador de proveedores

WSR ejecuta ProviderScheduler en segundo plano para administrar continuamente el estado de los MCP remotos.

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

Valores predeterminados:

  • Verificación de salud del proveedor conectado: 10 segundos

  • Reintento del proveedor no conectado: 5 segundos

Se pueden cambiar mediante variables de entorno.

MCP_PROVIDER_HEALTH_INTERVAL_MS=10000
MCP_PROVIDER_RETRY_INTERVAL_MS=5000

Se sigue automáticamente incluso si enciende o apaga el MCP

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

Por lo tanto, no es necesario reiniciar WSR para encender o reiniciar un proveedor.

Si cambia la definición de herramientas del MCP remoto, se comparan los resultados de tools/list y también se actualiza la instantánea del registro.

Dado que la capa HTTP actual configura un servidor por cada solicitud MCP, el registro de herramientas más reciente se refleja en la siguiente solicitud tools/list. La notificación tools/list_changed, que envía una alerta inmediata a la interfaz del cliente en sesiones de larga duración, se puede ampliar junto con la futura estructura de gestión de sesiones.


Multi-espacio de trabajo

Puede administrar varios proyectos en un solo WSR.

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

El espacio de trabajo activo actual se utiliza como destino de trabajo predeterminado, y los otros espacios de trabajo registrados se pueden usar centrados en lectura/búsqueda/análisis/copia mediante la función de espacio de trabajo cruzado.

SandboxGuard bloquea el acceso a archivos y comandos fuera de los límites del espacio de trabajo.


Playwright

Playwright está integrado, por lo que puede manipular un navegador real a través de MCP.

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

Ejemplos de soporte:

  • Navegar a URL

  • Hacer clic en elementos

  • Entrada/rellenar formularios

  • Entrada de teclado

  • Consultar contenido de la página

  • Evaluar JavaScript

  • Captura de pantalla

  • Gestión de sesiones del navegador


Instalación

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

En Windows, también se admite el uso de start.bat.

start.bat

Variables de entorno principales

Variable

Valor predeterminado

Descripción

MCP_PORT

12000

Puerto del servidor HTTP de WSR

MCP_WORKSPACE_ROOT

Ruta actual

Espacio de trabajo activo

MCP_WORKSPACE_ROOTS

MCP_WORKSPACE_ROOT

Lista de multi-espacios de trabajo

MCP_AUTH_TOKEN

Ninguno

Token de autenticación

MCP_PUBLIC_URL

Ninguno

URL pública de MCP

CLOUDFLARE_TUNNEL_TOKEN

Ninguno

Token de Cloudflare Tunnel

MCP_BROWSER_HEADLESS

false

Si Playwright es headless

MCP_PROVIDER_HEALTH_INTERVAL_MS

10000

Intervalo de verificación del proveedor conectado (ms)

MCP_PROVIDER_RETRY_INTERVAL_MS

5000

Intervalo de reconexión del proveedor no conectado (ms)

MCP_GODOT_ENABLED

false

Habilitar proveedor MCP de Godot

MCP_GODOT_URL

http://127.0.0.1:8000/mcp

Endpoint MCP de Godot

Guarde los tokens y contraseñas confidenciales solo en .env y no los confirme en Git.


Desarrollo

npm run typecheck
npm test
npm run build

El SDK de MCP utiliza la estructura de paquetes divididos v2.

  • Servidor y createMcpHandler: @modelcontextprotocol/server

  • Adaptador Node/Express: @modelcontextprotocol/node

  • Cliente de proveedor remoto: @modelcontextprotocol/client

  • Capa de compatibilidad del servidor de autorización OAuth integrado existente: @modelcontextprotocol/server-legacy/auth

El último elemento es un puente oficial de migración v1→v2 y está en desuso. Se mantiene para la recuperación de discovery y la preservación del comportamiento OAuth existente, pero a largo plazo debe separarse en una biblioteca OAuth/IdP dedicada.

Al agregar un nuevo proveedor MCP, se recomienda leer primero los siguientes documentos:

  • AGENT.md — reglas de trabajo del proyecto

  • docs/mcp-gateway-architecture.md — estructura de Gateway / Proveedor

  • skills/add-remote-mcp-provider/SKILL.md — procedimiento para agregar MCP

  • skills/test-mcp-provider/SKILL.md — prueba del proveedor

  • skills/debug-mcp-gateway/SKILL.md — solución de problemas de MCP


Casos de verificación reales

Actualmente, WSR se ha conectado realmente con Godot MCP y ha verificado las siguientes tareas:

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

Escena de prueba:

res://mcp_test.tscn

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

Este flujo es un caso de prueba representativo que muestra que WSR no es un simple MCP de archivos, sino una puerta de enlace que conecta herramientas de desarrollo reales.


Principios de seguridad

Dado que WSR proporciona funciones potentes para la automatización del desarrollo, trata los siguientes principios como importantes:

  • Restringe el acceso fuera del espacio de trabajo con SandboxGuard.

  • Separa los permisos de espacio de trabajo cruzado para no modificar otros espacios de trabajo.

  • No almacena tokens de autenticación ni tokens de Cloudflare Tunnel en el código fuente.

  • No presenta las funciones de seguridad como una garantía absoluta, sino que las describe según los límites configurados y el modelo de permisos.

  • Aísla para que el fallo de un proveedor MCP remoto no provoque el fallo de toda la puerta de enlace.


Licencia

Licencia MIT

<<<<<<< HEAD

PostgreSQL MCP (CrystalDBA)

WSR es capaz de seleccionar el transporte para cada proveedor MCP remoto. La configuración actualmente verificada es la siguiente.

PostgreSQL MCP (CrystalDBA)

WSR? Remote MCP Provider?? transport? ??? ? ????. ?? ??? ??? ??? ????.

bc801171f3701eb530b6adcc49612293e251de7e

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

<<<<<<< HEAD Para habilitar el proveedor de PostgreSQL, configure los siguientes valores en el .env raíz.

PostgreSQL Provider? ?????? ?? .env? ?? ?? ?????.

bc801171f3701eb530b6adcc49612293e251de7e

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

<<<<<<< HEAD El entorno de ejecución de Docker se encuentra en mcp-servers/postgres-mcp/, y el DATABASE_URI real se coloca solo en el .env de ese directorio. No confirme contraseñas de base de datos ni cadenas de conexión reales en Git.

Los 9 herramientas que proporciona el MCP de PostgreSQL se exponen como postgresql_* después de aplicar el espacio de nombres de WSR. En la conexión real se verificaron list_schemas, list_objects, get_object_details, explain_query, analyze_workload_indexes, analyze_query_indexes, analyze_db_health, get_top_queries y execute_sql.

Consulte docs/postgresql-mcp-provider.md y mcp-servers/postgres-mcp/README.md para obtener instrucciones detalladas de instalación/operación.

Docker ?? ??? mcp-servers/postgres-mcp/? ??? ?? DATABASE_URI? ?? ????? .env?? ???. DB ????? ?? ?? ???? Git? ???? ????.

PostgreSQL MCP? ???? 9? ??? WSR namespace ?? ? 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? ?????.

bc801171f3701eb530b6adcc49612293e251de7e

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