Skip to main content
Glama
moosin76

Windows Scoped Remote MCP Server

by moosin76

🛡️ Windows Scoped Remote MCP Server

Ein sicherheitsisolierter Remote-Entwicklungs-MCP-Server (Model Context Protocol), der in Windows-Umgebungen läuft.

Er verbindet sich mit MCP-fähigen LLM-Clients wie ChatGPT, Claude usw. und ermöglicht die interaktive Bearbeitung von Dateien, Terminal, Prozessen, Browser und mehreren Workspaces in der tatsächlichen Windows-Entwicklungsumgebung.

Außerdem können separate Remote-MCPs wie Godot, Blender usw. als Provider angebunden werden, sodass verschiedene Entwicklungswerkzeuge über ein einziges Gateway gemeinsam genutzt werden können.

❤️ Projekt unterstützen

Wenn WSR für dich nützlich war, kannst du das Projekt über GitHub Sponsors unterstützen.

💖 Über GitHub Sponsors unterstützen

Die Unterstützung fließt in die Wartung von WSR sowie in die Entwicklung neuer MCP-Provider und Funktionen.


Hauptfunktionen

  • Windows SandboxGuard – Beschränkt Datei- und Befehlsausführung innerhalb der konfigurierten Workspace-Grenzen.

  • Multi-Workspace – Mehrere Projekte können registriert und der aktive Workspace kann gewechselt werden.

  • Datei-/Codeverwaltung – Unterstützt Anzeigen, Erstellen, Ändern, Verschieben, Kopieren, Löschen, Patch-Anwendung usw.

  • PowerShell / CMD / Prozessverwaltung – Führt Entwicklungsbefehle aus und verwaltet Hintergrundprozesse.

  • Playwright-Browserautomatisierung – Öffnet einen echten Browser und führt Navigation, Eingabe, Klicks, Screenshots usw. durch.

  • Remote-MCP-Provider – Gewünschte MCPs wie Godot, Blender usw. können zum Gateway hinzugefügt werden.

  • Provider-Ausfallisolierung – Auch wenn ein MCP ausgeschaltet ist, können WSR Core und andere Provider weiterhin verwendet werden.

  • Provider-Scheduler – Überprüft regelmäßig den Verbindungsstatus und tools/list der MCPs und führt automatische Wiederverbindung sowie Aktualisierung der Tool-Registry durch.

  • OAuth 2.1 / Cloudflare-Tunnel-Unterstützung – Bietet eine Konfiguration für die sichere Verbindung mit Remote-MCP-Clients.

  • MCP 2026-07-28 + Legacy-Kompatibilität – Unterstützt sowohl moderne zustandslose Anfragen auf Basis von server/discover als auch den 2025er initialize-Ablauf über denselben /mcp-Endpunkt.


Related MCP server: local-mcp

Architektur

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

WSR selbst fungiert als Gateway, und externe MCPs werden über RemoteMcpProvider verbunden.

Die HTTP-MCP-Schicht verwendet createMcpHandler aus dem offiziellen TypeScript-SDK v2. Für 2026-07-28-Clients werden server/discover und ein _meta-Envelope pro Anfrage bereitgestellt, für bestehende Clients wird derselbe Tool-Definitionen mit einem 2025er-Stateless-initialize-Fallback angeboten.

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

Remote-MCP-Provider

Da jeder Benutzer unterschiedliche MCPs benötigt, ist WSR nicht von einem bestimmten MCP abhängig.

Zum Beispiel:

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

Jeder Provider verwendet einen Namespace.

MCP

Namespace-Beispiel

Godot

godot_*

Blender

blender_*

Browser

browser_*

Neues MCP

<provider>_*

Zum Beispiel wird get_scene des Blender-MCPs in WSR als blender_get_scene bereitgestellt.

Der einfachste Weg, ein MCP hinzuzufügen

Nachdem du das Projekt erhalten hast, kannst du ChatGPT beispielsweise wie folgt bitten:

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

Detaillierte Schritte findest du in skills/add-remote-mcp-provider/SKILL.md.


WSR läuft weiter, auch wenn ein Provider ausgeschaltet ist

Remote-MCPs sind optionale Abhängigkeiten.

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

Ein Verbindungsfehler eines Providers führt nicht zum Beenden des gesamten WSR.

Wenn ein Provider-spezifisches Tool aufgerufen wird, während keine Verbindung besteht, wird ein klarer Fehler zurückgegeben.

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

Der aktuelle Status kann mit dem Tool mcp_provider_status überprüft werden.


Provider-Scheduler

WSR führt den ProviderScheduler im Hintergrund aus, um den Status der Remote-MCPs kontinuierlich zu verwalten.

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

Standardwerte:

  • Health-Check verbundener Provider: 10 Sekunden

  • Retry nicht verbundener Provider: 5 Sekunden

Sie können über Umgebungsvariablen geändert werden.

MCP_PROVIDER_HEALTH_INTERVAL_MS=10000
MCP_PROVIDER_RETRY_INTERVAL_MS=5000

Automatische Anpassung, wenn ein MCP ein- oder ausgeschaltet wird

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

Daher ist es nicht erforderlich, WSR selbst neu zu starten, um einen Provider zu aktivieren oder erneut auszuführen.

Wenn sich die Tool-Definitionen eines Remote-MCPs ändern, werden die tools/list-Ergebnisse verglichen und der Registry-Snapshot aktualisiert.

Da die aktuelle HTTP-Schicht den Server pro MCP-Anfrage aufbaut, wird die neueste Tool-Registry bei der nächsten tools/list-Anfrage berücksichtigt. Die tools/list_changed-Benachrichtigung, die in langen Sitzungen sofort an die Client-UI gesendet wird, kann zusammen mit der zukünftigen Sitzungsverwaltungsstruktur erweitert werden.


Multi-Workspace

Mehrere Projekte können in einem einzigen WSR verwaltet werden.

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

Der aktuell aktive Workspace wird als Standard-Arbeitsziel verwendet, während andere registrierte Workspaces über die Cross-Workspace-Funktion schwerpunktmäßig zum Lesen, Suchen, Analysieren und Kopieren genutzt werden können.

Zugriffe auf Dateien und Befehle außerhalb der Workspace-Grenzen werden von SandboxGuard blockiert.


Playwright

Playwright ist integriert, sodass ein echter Browser über MCP gesteuert werden kann.

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

Unterstützte Beispiele:

  • URL-Navigation

  • Element-Klicks

  • Eingabe/Formularausfüllung

  • Tastatureingaben

  • Seiteninhalt abrufen

  • JavaScript-Auswertung

  • Screenshots

  • Browsersitzungsverwaltung


Installation

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

Unter Windows wird auch die Verwendung von start.bat unterstützt.

start.bat

Wichtige Umgebungsvariablen

Variable

Standardwert

Beschreibung

MCP_PORT

12000

WSR-HTTP-Serverport

MCP_WORKSPACE_ROOT

Aktueller Pfad

Aktiver Workspace

MCP_WORKSPACE_ROOTS

MCP_WORKSPACE_ROOT

Multi-Workspace-Liste

MCP_AUTH_TOKEN

Keiner

Token für die Authentifizierung

MCP_PUBLIC_URL

Keine

Öffentliche MCP-URL

CLOUDFLARE_TUNNEL_TOKEN

Keiner

Cloudflare-Tunnel-Token

MCP_BROWSER_HEADLESS

false

Playwright-Headless-Modus

MCP_PROVIDER_HEALTH_INTERVAL_MS

10000

Prüfintervall für verbundene Provider (ms)

MCP_PROVIDER_RETRY_INTERVAL_MS

5000

Wiederverbindungsintervall für nicht verbundene Provider (ms)

MCP_GODOT_ENABLED

false

Godot-MCP-Provider aktivieren

MCP_GODOT_URL

http://127.0.0.1:8000/mcp

Godot-MCP-Endpunkt

Sensible Token und Passwörter nur in .env speichern und nicht in Git committen.


Entwicklung

npm run typecheck
npm test
npm run build

Das MCP-SDK verwendet die v2-Split-Paketstruktur.

  • Server und createMcpHandler: @modelcontextprotocol/server

  • Node/Express-Adapter: @modelcontextprotocol/node

  • Remote-Provider-Client: @modelcontextprotocol/client

  • Kompatibilitätsschicht für den bestehenden integrierten OAuth-Authorization-Server: @modelcontextprotocol/server-legacy/auth

Der letzte Punkt ist eine offizielle v1→v2-Migrationsbrücke und als veraltet (deprecated) markiert. Er wird beibehalten, um die Discovery-Wiederherstellung und das bestehende OAuth-Verhalten zu erhalten, sollte aber langfristig in eine dedizierte OAuth/IdP-Bibliothek ausgelagert werden.

Beim Hinzufügen eines neuen MCP-Providers wird empfohlen, zuerst die folgenden Dokumente zu lesen:

  • AGENT.md – Projektarbeitsregeln

  • docs/mcp-gateway-architecture.md – Gateway-/Provider-Struktur

  • skills/add-remote-mcp-provider/SKILL.md – Verfahren zum Hinzufügen eines MCPs

  • skills/test-mcp-provider/SKILL.md – Provider-Tests

  • skills/debug-mcp-gateway/SKILL.md – MCP-Fehlerbehebung


Praktisch verifizierte Anwendungsfälle

WSR wurde derzeit mit dem Godot-MCP verbunden und die folgenden Aufgaben wurden verifiziert:

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

Test-Szene:

res://mcp_test.tscn

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

Dieser Ablauf ist ein repräsentativer Testfall, der zeigt, dass WSR kein einfaches Datei-MCP ist, sondern ein Gateway, das echte Entwicklungswerkzeuge verbindet.


Sicherheitsprinzipien

WSR bietet leistungsstarke Funktionen für die Entwicklungsautomatisierung und behandelt daher die folgenden Prinzipien als wichtig:

  • Zugriffe außerhalb des Workspace werden durch SandboxGuard eingeschränkt.

  • Cross-Workspace-Berechtigungen werden getrennt, um andere Workspaces nicht zu verändern.

  • Authentifizierungstoken und Cloudflare-Tunnel-Token werden nicht im Quellcode gespeichert.

  • Sicherheitsfunktionen werden nicht als absolute Sicherheitsgarantie dargestellt, sondern anhand der konfigurierten Grenzen und des Berechtigungsmodells beschrieben.

  • Der Ausfall eines einzelnen Remote-MCP-Providers wird isoliert, damit er nicht zu einem Ausfall des gesamten Gateways führt.


Lizenz

MIT-Lizenz

<<<<<<< HEAD

PostgreSQL MCP (CrystalDBA)

WSR kann den Transport pro Remote-MCP-Provider auswählen. Die derzeit verifizierte Konfiguration ist wie folgt.

PostgreSQL MCP (CrystalDBA)

WSR kann den Transport pro Remote-MCP-Provider auswählen. Die derzeit verifizierte Konfiguration ist wie folgt.

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 Um den PostgreSQL-Provider zu aktivieren, setze die folgenden Werte in der .env im Stammverzeichnis.

Um den PostgreSQL-Provider zu aktivieren, setze die folgenden Werte in der .env im Stammverzeichnis.

bc801171f3701eb530b6adcc49612293e251de7e

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

<<<<<<< HEAD Die Docker-Ausführungsumgebung befindet sich in mcp-servers/postgres-mcp/, und die tatsächliche DATABASE_URI wird nur in der .env dieses Verzeichnisses abgelegt. DB-Passwörter oder tatsächliche Verbindungszeichenfolgen werden nicht in Git committet.

Die 9 vom PostgreSQL-MCP bereitgestellten Tools werden nach Anwendung des WSR-Namespace in der Form postgresql_* bereitgestellt. Bei der tatsächlichen Verbindung wurden list_schemas, list_objects, get_object_details, explain_query, analyze_workload_indexes, analyze_query_indexes, analyze_db_health, get_top_queries und execute_sql verifiziert.

Detaillierte Installations-/Betriebsanweisungen findest du in docs/postgresql-mcp-provider.md und mcp-servers/postgres-mcp/README.md.

Die Docker-Ausführungsumgebung befindet sich in mcp-servers/postgres-mcp/, und die tatsächliche DATABASE_URI wird nur in der .env dieses Verzeichnisses abgelegt. DB-Passwörter oder tatsächliche Verbindungszeichenfolgen werden nicht in Git committet.

Die 9 vom PostgreSQL-MCP bereitgestellten Tools werden nach Anwendung des WSR-Namespace in der Form postgresql_* bereitgestellt. Bei der tatsächlichen Verbindung wurden list_schemas, list_objects, get_object_details, explain_query, analyze_workload_indexes, analyze_query_indexes, analyze_db_health, get_top_queries und execute_sql verifiziert.

Detaillierte Installations-/Betriebsanweisungen findest du in docs/postgresql-mcp-provider.md und mcp-servers/postgres-mcp/README.md.

bc801171f3701eb530b6adcc49612293e251de7e

Maintenance

ActivityMaintained
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