Skip to main content
Glama
dxawdc

Secure Local Workspace MCP

by dxawdc

Secure Local Workspace MCP(Sicheres lokales Workspace-MCP)

English | Deutsch (Standard)

Ein sicheres lokales Workspace-Gateway für ChatGPT und Codex. Über MCP legt es ausschließlich ausdrücklich freigegebene Projektverzeichnisse offen; es stellt eingeschränkte Fähigkeiten zum Lesen von Dateien, Suchen, Anwenden von Patches, Git-Prüfungen und Ausführen von Whitelist-Aufgaben bereit, ohne dem Modell beliebige Shell-, Lösch-, Commit-, Push- oder Deployment-Berechtigungen zu geben.

Anwendungsfälle

  • Projektcode lokal auf der ChatGPT-Weboberfläche lesen, analysieren und bearbeiten.

  • Codex über einheitliche MCP-Werkzeuge den Zugriff auf mehrere vom Benutzer autorisierte Projekte ermöglichen.

  • Schreibvorgänge standardmäßig mit Verzeichnisgrenzen, Dateigrößen und SHA-256-Konkurrenzschutzabsichern.

  • Vorgänge wie Tests und Builds auf do die Task-Whitelist in der lokalen Konfiguration beschränken.

Funktionen und Sicherheitsgrenzen

Funktion

Werkzeuge

Einschränkung

Projektübersicht

diagnosticslist_projects

nur in der lokalen Konfiguration autorisierte Projekte

Dateidurchsuchung

list_filesread_filesearch_text

begrenzt Verzeichnisse, Tiefe, Dateianzahl, Dateigröße und Ergebnisanzahl

Dateibearbeitung

apply_patchcreate_text_file

Besthenden Dateien müssen die aktuelle SHA-256 enthalten; neue Dateien dürfen nicht überschrieben werden

Git-Prüfung

git_statusgit_diff

Fest readonly Parameter; keine beliebigen Git-Befehle

Projektaufgaben

run_task

Nur vordefinierte Befehle und Argumente aus der Konfiguration ausführen

Die Serverseite validiert die realen Pfade und verhindert Escape-Versuche über .., absolute Pfade und Symlinks. Projekte sind standardmäßig read-only; erst nachdem sie mit writable: true konfiguriert wurden, werden die Schreibwerkzeuge Vaktiviert.

Das Projekt stellt bewusst Folgendes nicht bereit:

  • Beliebige Shell- oder Befehlsausführung;

  • Löschen von Dateien oder überschreibendes Erstellen;

  • Git-Commit, Git-Push oder / das Neuschreiben von Branches;

  • Deployment in Produktion und Betrug von Remote-Servern.

Verzeichnisse und „private Daten“ Datenschutz

Das Repository enthält nur Quellcode, Beispielkonfigurationen und Automatisierungsskripte. Echte Autorisierungskonfigurationen, API-Schlüssel, Tunnelkonfigurationen und Logs müssen sich außerhalb des Repository befinden.

Empfohlenes Verzeichnis unter Windows:

项目源码              <clone-directory>
授权配置              %USERPROFILE%\.secure-local-workspace-mcp\config.json
隧道 profile          %USERPROFILE%\.secure-local-workspace-mcp\tunnel-profiles\
运行时 API Key        用户自选的受保护文件或环境变量
tunnel-client         用户自选的本机工具目录

Die frühere Konfiguration %USERPROFILE%\.local-project-workspace\config.json wird weiterhin automatisch gelesen, wenn der neuge Pfad noch nicht existiert – für ein unterbrechungsfreies Upgrade.

Umgebungsvoraussetzungen

  • Windows, macOS oder Linux; Die Automatisierungsskripte basieren primär auf Windows PowerShell.

  • Node.js 20 oder höher.

  • Git.

  • Für Verbindung über den ChatGPT-WebClient: Ein Tunnel muss in der OpenAI Platform erstellt werden können, und der Entwicklermodus muss dabei in ChatGPT verfügbar sein.

Kompletter manuell Konfigurationsprozess

1. Quellcode herunterladen und Abhängigkeiten installieren

git clone https://github.com/dxawdc/secure-local-workspace-mcp.git
Set-Location .\secure-local-workspace-mcp
npm ci
npm test
npm run smoke:mcp

2. Lokale Autorisierungskonfiguration erstellen

Die Empfehlung ist, das erste Projekt über das Automatisierungsskript anzulegen:

.\scripts\bootstrap-config.ps1 `
  -ProjectId "my-app" `
  -ProjectLabel "我的应用" `
  -ProjectRoot "D:\Projects\my-app"

Das Skript erstellt standardmäßig ein read-only–Projekt. Finden Sie die Schreibrisiken bestätigt haben, fügen Sie explizit „-Writable“ ein:

.\scripts\bootstrap-config.ps1 `
  -ProjectId "my-app" `
  -ProjectLabel "我的应用" `
  -ProjectRoot "D:\Projects\my-app" `
  -Writable `
  -Force

Alternativ kann config.example.json kopiert und gespeichert werden als:

%USERPROFILE%\.secure-local-workspace-mcp\config.json

Beispiel für eine Aufgaben-Whitelist:

{
  "tasks": {
    "test": {
      "command": "npm",
      "args": ["test"],
      "timeoutSeconds": 300
    }
  }
}

ChatGPT and Codex dürfen ausschließlich den Task-Namen test registrieren, aber nicht die Befehle oder Parameter ändern.

3. MCP lokal starten and überprüfen

.\scripts\start-local.ps1

oder:

npm start

Der Prozess gibt den tatsächlichen Konfigurationspfad und die Anzahl der autorisierten Projekte über die Standard-Fehlerausgabe aus. MCP selbst arbeitet mit stdio; es wird keine HTTP-Seite angezeigt, wenn die App im Vordergrund läuft.

4. Codex verbinden

Das Repository enthält .codex-plugin/plugin.json, .mcp.json und das zugehörige Skill. The Kompatibilitäts-ID für persönliche Plugins bleibt `local-project-workspace», damit bestehende Installationen nicht ungültig werden; Mind tagging name is already been set to Secure Local Workspace MCP.

Place the repository under %USERPROFILE%\plugins\local-project-workspace or create a Junction to the cloned directory, installs and installiert then plug the plugin via the private Marketplace. Neue "new task" nach dem Update, damit MCP und das Skill neu geladen werden.

5. OpenAI Secure MCP Tunnel zachten

  1. On the Tunnel-NotFound page you created a Tunnel in the OpenAI Platform and bind it targets the ChatGPT Workspace assignment.

  2. Erstellen Sie einen zusätzlichen Runtime-API-Key werve/D と Ständiger laufende Prozesse verwenden only Runtime-Key and not the "Key.

  3. Laden Sie den Hub offiziellen tunnel-client herunter, verifizieren Sie die in der Release-Seite verfü filling“ angegebene SHA-256-Prüfsumme und entpacken Sie ihn.

  4. Place the Runtime API Key in a geschützten Datei außerhalb des Repository - either or Wert über omnigte sowie verwenden; geben Sie ihn niemals in die history, command line, Config or Git-Befehl.

  5. Erstellen Sie mit den Skript das Profil und prüfen Sie es.

Es ist empfehlenswert, eine durch -ACL geschützte Datei- Bibliography. The folgende command over only the file path and arbeitet mit der availability Key nicht read:

.\scripts\setup-tunnel.ps1 `
  -TunnelId "tunnel_REPLACE_ME" `
  -TunnelClient "C:\Tools\tunnel-client\tunnel-client.exe" `
  -ControlPlaneApiKeyRef "file:C:\Secrets\openai-tunnel-runtime-key.txt" `
  -ProfileDir "$env:USERPROFILE\.secure-local-workspace-mcp\tunnel-profiles"

Dafür verbinden Sie über einen lokalen Proxy mit OpenAI:

.\scripts\setup-tunnel.ps1 `
  -TunnelId "tunnel_REPLACE_ME" `
  -TunnelClient "C:\Tools\tunnel-client\tunnel-client.exe" `
  -ControlPlaneApiKeyRef "file:C:\Secrets\openai-tunnel-runtime-key.txt" `
  -ProfileDir "$env:USERPROFILE\.secure-local-workspace-mcp\tunnel-profiles" `
  -HttpProxy "http://127.0.0.1:7890"

Execute the Skript run tunnel-client init geprüft D oder doctor`. Nach der Prüfung starten, start und in the foreground:

& "C:\Tools\tunnel-client\tunnel-client.exe" run `
  --profile secure-local-workspace-mcp `
  --profile-dir "$env:USERPROFILE\.secure-local-workspace-mcp\tunnel-profiles"

6. Das neue plugin im Chat GPT-Objekt erstellen

  1. OpenAIChatGPT sind the Settings and the Developer mode.

  2. Gehen Sie zur Plugin-Seite area: „App erstellen“.

  3. Wählen Sie unter der Startführung „Tunnel“: the Tunnel created was its ID eingegeben.

  4. Dieser Dienst actually correctly requires keine zusätzliche OAuth; Choose „Authentifizierung“ . Tunnel Runtime Key is only gehören the local Client and OpenAI-Konsole.

  5. Risk beachtete it and given for the create & connect.

  6. Prüfen Sie, ob die zehn - Werkzeuge gefunden, und führen Sie eine Lese-Kontroll auf valid testing the translation.

Verifikations-Prompt:

@Secure Local Workspace MCP 调用 list_projects,只返回项目名称和是否可写。

Änderungs-Prompt:

@Secure Local Workspace MCP 读取 my-app 的 README.md,先说明修改计划,再用哈希保护补丁修改并展示 git_diff。

Automatisierter Konfigurationsprozess

Das Repo enthält drei Windows-PowerShell-Skripte:

  1. bootstrap-config.ps1: Erstellt die Autorisierungskonfiguration für Projekte; keine Schlüssel betroffen.

  2. setup-tunnel.ps1: Erstellt das Tunnel-Profil und starts.

  3. register-tunnel-startup.ps1: Registriert das corrected profile als Anmeldeautostart-Aufgabe für den Mot Tom.

Vollständige Automatisierungsbeispiele, Parameterdokumentation, rollback-Muster (Rollback) und CI-Betriebsempfehlen: Referenz automatische Konfigurationsautomatisierung.

Täglicher Betrieb

Lokale Konfigurierung Diagnose anzeigen

Rufen Sie in ChatGPT/Codex diagnostics und list_projects auf. Verlassen Sie sich nicht auf das Modell, die Projekt-ID zu erraten.

Projekte aktualisieren

git pull --ff-only
npm ci
npm test
npm run smoke:mcp

Falls sich Tools Definitionen der MCP geändert haben, starten Sie den tunnel-client neu und aktualisieren Sie die Werkzeuge in den ChatGPT / Plugin settings; in Codex Datab erstellen neue Aufgabe.

Login-Autostart-Aufgabe beenden

Stop-ScheduledTask -TaskName "Secure Local Workspace MCP Tunnel"

Login-Autostart-Aufgabe löschen

Unregister-ScheduledTask -TaskName "Secure Local Workspace MCP Tunnel" -Confirm:$false

Das löscht nur die Aufgabe, nicht den Tunnel-Service tun, – den API-Key, das Tunnelprofil oder die Projektkonfiguration.

FAQ

Tunnel Funktional lokal einwandfrei, aber Chat GPT-Aufrufe werden message/

  • Prüfen Sie, ob api.localgpt? needs ein Proxy.

  • That Browser unterscheidet System-Proxy verwende bedeutet nicht, dass der Go-basierte tunnel-client denselben Proxy automatically auto liest.

  • Setze http_proxy or HTTPS_PROXY in der Umgebungsvariable des startprozesses; / direkt in das Profil.

  • Verwende tunnel-client runtimes status <alias> --json, um zwischen process_running, healthy, ready und remote errors.

ChatGPT errkennt keine Tools

  • Prüfen, dass tunnel-client läuft.

  • Führe doctor --explain.

  • Verify das Tunnel an den aktuellen ChatGPT workspace gebunden ist.

  • Klickt in → Plugin settings auf „Refresh”.

  • Überprüfen Sie the path config and the associated project number in the startup log.

Das Projektlist ist schlecht leer

  • Prüfen Sie, ob Martin das new oder altes config-Pfad liest.

  • Sie können LOCAL_PROJECT_WORKSPACE_CONFIG auf explicit Konfigurationsdatei setzen.

  • Prüfen Sie das JSON-Format, die Projekt-ID und die Existenz des Projektorm.

Schreibvorgänge werden abgelehnt

  • Das Projekt muss mit writable: true konfiguriert sein.

  • Vor der Modify einer Dateien müssen read_file neu aufgerufen und aktuelle SHA-256 verwendet werden.

  • Wenn sich eine Datei geändert hat, ist der alte Hash invalid; das ist die vorgesehene Konkurrenzschutz.

Datenschutz-Prüfungen vor der Veröffentlichung

Bevor Sie das öffentliche Fork oder Commit machen, mindestens prüfen:

  • API-Schlüssel, GitHub-Tokens, private keys und Zertifikate;

  • Tunnel-, organizations, workspace-IDs;

  • Echte config.json-Dateien, Logs, Download-Verzeichnisse und Laufzeitprofile;

  • Personal usernames, absolute Pfade und private Repository-URLs;

  • node_modules, Build-Erzeugnisse und temporäre Dateien.

Das.gitignore des Repos bereits den viele sensible Pfad ab, aber nicht die Prüfung des Commit-Tree und den Process der Schlüsselwiderrufun gen ersetzt.

License

MIT

-
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

  • Project management MCP for AI agents with safe task reads and writes.

  • A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage

  • An MCP server that gives your AI access to the source code and docs of all public github repos

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/dxawdc/secure-local-workspace-mcp'

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