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 arbeitet.
In Verbindung mit modernen LLM-Clients wie ChatGPT oder Claude kann er durch Konversation allein Dateien erstellen/bearbeiten, PowerShell-Befehle ausführen sowie Projekt-Builds und Debugging innerhalb eines festgelegten lokalen Arbeitsbereichs autonom durchführen.


📌 Hauptmerkmale

  • Für Windows optimierte Sandbox (SandboxGuard):

    • Blockiert zu 100 % den Zugriff auf Dateien/Ordner sowie die Ausführung von Befehlen außerhalb des festgelegten MCP_WORKSPACE_ROOT-Verzeichnisses.

  • ChatGPT-Standard-OAuth-2.1-Integration (RFC 8414 / RFC 9728 / DCR / PKCE):

    • Bietet dynamische Client-Registrierung (DCR) und eine interaktive sichere Genehmigungsseite (/authorize), sodass nur autorisierte Benutzer, die das Passwort-Token (MCP_AUTH_TOKEN) kennen, sicher eine Verbindung herstellen können.

  • 19 Arten von Full-Stack-MCP-Entwicklungstools & OpenAPI-3.0-Spezifikation:

    • Vollständige Unterstützung für Datei- und Verzeichnis-CRUD, Patch-Anwendung (apply_patch), asynchrone Prozesse sowie PowerShell/CMD-Ausführung und Statusüberwachung.

  • Zero-Trust-Kommunikation über Cloudflare Tunnel:

    • Bietet einen sicheren HTTPS-Endpunkt über Cloudflare Tunnel, ohne komplexes Port-Forwarding oder das Öffnen von Firewalls.

  • Unterstützung für unterbrechungsfreien Projektwechsel:

    • Durch Ändern von MCP_WORKSPACE_ROOT in .env kann der Arbeitsordner sofort gewechselt werden, während die bestehende ChatGPT-Authentifizierungssitzung erhalten bleibt.


🏗️ Systemarchitektur

┌────────────────────────────────────────────────────────┐
│                   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         │
└────────────────────────────────────────────────────────┘

🛠️ Liste der bereitgestellten Tools (insgesamt 30 Tools)

🌐 1. Browser-Automatisierung & Web-Test-Tools (Playwright 8 Tools)

Tool-Name

Beschreibung

browser_navigate

Browser zu einer Website-URL navigieren und Seite laden

browser_screenshot

Screenshot des aktuellen Web-Bildschirms aufnehmen und als Bilddatei (PNG) im Arbeitsordner speichern

browser_click

Bestimmte HTML-Elemente wie Buttons oder Links per Mausklick anklicken

browser_fill

Automatisches Tippen und Eingeben von Text in Suchfelder und Eingabeformulare

browser_get_content

Textinhalt oder HTML-Quellcode einer Webseite extrahieren

browser_evaluate

JavaScript-Code (JS) in der Browser-Konsole ausführen und Ergebnisse sammeln

browser_press_key

Tastatureingaben (Enter, Tab, Escape, Pfeiltasten usw.) senden

browser_close

Browsersitzung beenden und Speicher freigeben

📂 2. Tools zur Verwaltung mehrerer Arbeitsbereiche (3 Tools)

Tool-Name

Beschreibung

list_workspaces

Liste aller registrierten Multi-Workspaces, Aliase und Aktivierungsstatus abrufen

get_active_workspace

Name und absoluten Pfad des aktuell aktiven Standard-Arbeitsbereichs abrufen

switch_workspace

Aktiven Arbeitsbereich in Echtzeit per Alias oder Pfad wechseln

📁 3. Datei- und Code-Bearbeitungstools (11 Tools)

Tool-Name

Beschreibung

list_directory

Liste der Dateien und Unterverzeichnisse im angegebenen Pfad abrufen

read_file

Textdatei lesen (unterstützt Offset und geteiltes Lesen)

write_file

Neue Datei erstellen sowie Überschreiben/Anhängen

edit_file

Präzise Code-Bearbeitung nach bestimmten Zeilennummern und Blöcken

replace_in_file

Zeichenfolgensuche sowie Stapel-/Einzelersetzung von Zieltext

apply_patch

Patch im Standard-Unified-Diff-/Patch-Format auf Dateien anwenden

make_directory

Neues Verzeichnis erstellen

delete_file

Dateien und leere Verzeichnisse löschen

move_file

Dateien/Ordner verschieben und umbenennen

copy_file

Dateien/Ordner kopieren

**`stat_path``

Größe, Änderungsdatum und Attribut-Metadaten von Dateien/Ordnern abrufen

⚡ 4. Tools zur Ausführung von Terminalbefehlen und Skripten (8 Tools)

Tool-Name

Beschreibung

search_files

Dateinamen mit Glob-Mustern durchsuchen

find_in_files

Hochgeschwindigkeitssuche nach Text und regulären Ausdrücken in Dateien

exec_command

PowerShell- oder CMD-Befehle ausführen und Ergebnis zurückgeben

run_script

PowerShell-, Batch-, Node.js- und Python-Skripte ausführen

read_process_output

Ausgabepuffer lang laufender Hintergrundprozesse lesen

write_process_input

Daten an die Standardeingabe (stdin) eines laufenden Prozesses senden

stop_process

Hintergrundprozess beenden

list_processes

Liste und Status der aktuell laufenden Prozesse abrufen


⚙️ 1. Anleitung zur Umgebungskonfiguration (.env)

Kopieren Sie die Datei .env.example im Projektstammverzeichnis, erstellen Sie die Datei .env und konfigurieren Sie diese:

copy .env.example .env

📋 Detaillierte Beschreibung der wichtigsten Konfigurationselemente

Umgebungsvariable

Standardwert / Beispiel

Erforderlich

Beschreibung

MCP_PORT

12000

Optional

Portnummer, auf der der Express-Server lokal ausgeführt wird (Standard: 12000)

MCP_WORKSPACE_ROOTS

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

Erforderlich

Mehrere Arbeitsbereiche, die ChatGPT manipulieren kann (Alias:Pfad)

MCP_AUTH_TOKEN

your_secure_password

Erforderlich

Sicherheitspasswort, das auf der ChatGPT-OAuth-Genehmigungsseite (/authorize) eingegeben wird

MCP_PUBLIC_URL

https://mcp.yourdomain.com

Erforderlich

Öffentliche HTTPS-Adresse, die über Cloudflare Tunnel extern bereitgestellt wird

CLOUDFLARE_TUNNEL_TOKEN

your_tunnel_token

Optional

Festes Tunnel-Token, das im Cloudflare-Zero-Trust-Dashboard ausgestellt wird

MCP_DEFAULT_SHELL

powershell

Optional

Standard-Shell bei exec_command-Ausführung (powershell, cmd, pwsh)

MCP_MAX_FILE_CHUNK_BYTES

1048576 (1 MB)

Optional

Maximale Lesegröße in Bytes pro read_file-Aufruf

MCP_MAX_EDIT_FILE_BYTES

67108864 (64 MB)

Optional

Maximale bearbeitbare Dateigröße für edit_file / write_file

MCP_MAX_OUTPUT_BYTES

1048576 (1 MB)

Optional

Maximale Größe des Ausgabepuffers bei Terminalbefehlsausführung

# [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- und Domain-Integration

Dieser Server stellt den in .env festgelegten lokalen Port (MCP_PORT, Standard: 12000) über einen Cloudflare-Zero-Trust-Tunnel sicher als Subdomain Ihrer Domain (https://mcp.yourdomain.com) bereit.

🔌 Cloudflare-Dashboard-Einrichtung

  1. Navigieren Sie im Cloudflare Zero Trust Dashboard zum Menü NetworksTunnels.

  2. Klicken Sie auf [Create a tunnel], um einen Cloudflared-Tunnel zu erstellen.

  3. Public Hostname hinzufügen:

    • Subdomain: mcp (oder eine beliebige Subdomain)

    • Domain: yourdomain.com (wählen Sie Ihre Domain)

    • Service Type: HTTP

    • URL: localhost:<MCP_PORT> (z. B. localhost:12000)

  4. Kopieren Sie das ausgestellte Tunnel-Token und fügen Sie es in das Feld CLOUDFLARE_TUNNEL_TOKEN in .env ein.


📦 3. Hinweis zur Cloudflare-Binärdatei (bin/cloudflared.exe)

Dieses Projekt verwendet die Binärdatei cloudflared.exe, um den Tunnel automatisch zu starten.

  • Unterstützung für automatischen Download (empfohlen):

    • Wenn bin/cloudflared.exe beim ersten Ausführen von start.bat oder start.ps1 nicht vorhanden ist, wird die neueste Binärdatei automatisch vom offiziellen Cloudflare-GitHub-Release heruntergeladen und abgelegt.

    • Der Benutzer muss nichts separat herunterladen – einfach start.bat ausführen.

  • Manueller Download (Offline-/Firewall-Umgebung):

    • In Umgebungen, in denen der automatische Download eingeschränkt ist, laden Sie die Datei cloudflared-windows-amd64.exe von der offiziellen Cloudflare-Release-Seite herunter und legen Sie sie unter dem Pfad bin/cloudflared.exe im Projekt ab (entsprechend umbenennen).


🚀 4. Server-Ausführungsmethoden

Methode A. Automatische Ausführung mit einem Klick (start.bat / empfohlen)

Doppelklicken Sie auf start.bat oder führen Sie es in der Konsole aus:

start.bat

(Installiert automatisch npm-Pakete ➔ prüft .env ➔ prüft die cloudflared-Binärdatei ➔ führt TypeScript-Build sowie Server + Tunnel in einem Schritt aus)

Methode B. Manuelle Terminal-Ausführung

# 1. 의존성 설치
npm install

# 2. TypeScript 컴파일
npm run build

# 3. 테스트 실행
npm test

# 4. 서버 시작
npm start

🤖 5. Anleitung zur Verbindung mit der ChatGPT-App / dem Plugin (Schritt für Schritt)

Schritt 1. ChatGPT-App registrieren

  1. Rufen Sie ChatGPT Web auf und navigieren Sie zu [Einstellungen] ➔ [Plugins / Entwicklermodus].

  2. Klicken Sie auf [+ Neues Plugin / App erstellen].

  3. Geben Sie die Einstellungen wie folgt ein:

    • Name: my-remote (oder ein beliebiger Name)

    • Verbindung (Connection): Server-URLhttps://mcp.yourdomain.com/mcp (Ihre Domain)

    • Authentifizierung (Authentication): OAuth auswählen

  4. Klicken Sie auf [Erstellen].

Schritt 2. Sichere Login-Genehmigung

  1. Klicken Sie im Detailbildschirm der registrierten App auf die Schaltfläche [Verbinden ➔].

  2. Im Browser-Popup erscheint die Webseite [Windows Scoped Remote MCP-Genehmigung].

  3. Geben Sie im Passwortfeld den in .env festgelegten Wert MCP_AUTH_TOKEN ein und klicken Sie auf [Genehmigen und zu ChatGPT zurückkehren].

Schritt 3. Berechtigungseinstellung („Alle Aktionen zulassen")

  • Setzen Sie die Option Berechtigungen (Permissions) im App-Detailbildschirm auf Alle Aktionen zulassen.

  • (Dadurch erscheint nicht bei jedem Tool-Aufruf ein Bestätigungs-Popup, und ChatGPT kann die Entwicklung autonom durchführen)


💬 6. Praxisbeispiele für konversationelle Entwicklungs-Prompts

In einem neuen Chatfenster (oder im @ Plugin-Chatfenster) können Sie folgende Anweisungen geben:

# 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. Verwaltung mehrerer Projekte und Echtzeit-Wechsel

Dieser Server unterstützt Multi-Workspace, sodass mehrere Projekte gleichzeitig registriert und während des Gesprächs in Echtzeit gewechselt werden können.

Methode A. Echtzeit-Wechsel per ChatGPT-Konversation (ohne Server-Neustart ⭐)

  1. Aktuellen Arbeitsbereich prüfen:

    @my-remote 현재 작업 공간이 어디로 설정되어 있는지 확인해줘
  2. Liste aller registrierten Projekte anzeigen:

    @my-remote 등록된 모든 워크스페이스 목록을 보여줘
  3. Arbeitsbereich sofort wechseln:

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

    (ChatGPT ruft das Tool switch_workspace(name: "ether") auf und wechselt ohne Server-Neustart sofort zu diesem Projekt)

Methode B. Neues Projekt hinzufügen (.env)

  1. Fügen Sie in der Datei .env unter MCP_WORKSPACE_ROOTS einen neuen Projekt-Alias und Pfad hinzu:

    MCP_WORKSPACE_ROOTS=test:C:\path\to\mcp-test, ether:C:\path\to\ether-chronicle, mygame:C:\path\to\mygame
  2. Führen Sie start.bat im Terminal erneut aus, um sofortigen Zugriff und Wechsel zu den hinzugefügten Projekten zu ermöglichen. (Die OAuth-Authentifizierungstoken-Sitzung bleibt dauerhaft erhalten)


🔒 8. Sicherheit und Problemlösung

  • F. Besteht die Gefahr, dass Außenstehende unbefugt auf meinen Computer zugreifen?

    • Durch eine 3-fache Sicherheitsstruktur ist ein vollständiger Schutz gewährleistet:

      1. Passwort-Authentifizierung: Nur Ihr ChatGPT-Konto, das das Passwort MCP_AUTH_TOKEN kennt, hat Zugriff.

      2. Sandbox-Isolation: Dateien und Befehle funktionieren ausschließlich innerhalb des festgelegten MCP_WORKSPACE_ROOT; der Zugriff auf übergeordnete Pfade wird sofort blockiert.

      3. Cloudflare Zero Trust: Im Cloudflare-Dashboard können Firewall-Regeln hinzugefügt werden, die nur Ihre IP-Adresse zulassen.

  • F. Was tun, wenn der Tunnel keine Verbindung herstellt oder ein 502-Fehler auftritt?:

    • Prüfen Sie im start.bat-Fenster, ob der lokale Server (port: MCP_PORT aus .env) ordnungsgemäß läuft, und rufen Sie im Browser https://mcp.yourdomain.com/health auf, um zu prüfen, ob die Antwort { status: "ok" } zurückgegeben wird.


📄 Lizenz

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