Skip to main content
Glama
6maple

OpenAI Secure MCP Tunnel

by 6maple

OpenAI Secure MCP Tunnel

Ein Turborepo-Monorepo: mcp-tunnel stellt lokale stdio-MCP-Dienste über den OpenAI Tunnel Client für den Arbeitsbereich bereit. Kernwerkzeuge und optionale Erweiterungen werden als Workspace-Pakete bereitgestellt; in Zukunft können eigenständige Kombinationsanwendungen unter apps/mcp-* hinzugefügt werden.

Architektur

apps/mcp-tunnel                   当前 Tunnel 专用 MCP 应用和运行脚本
packages/mcp-tool-runtime         通用 tool 注册、配置与结果协议
packages/mcp-tools-core           read / write / edit / bash
packages/mcp-tools-extra          read_image / read_many / edit_many / notify
packages/mcp-image-adapter        图片读取和 sharp 转码(按需加载)
packages/pi-adapter               工作区文件、编辑、命令和路径安全适配

Die Entwicklungsumgebung verwendet pnpm stub (auch in postinstall ausgeführt) mit unbuild --stub, sodass nach jeder Änderung an einem Paket kein manueller Build erforderlich ist.

Related MCP server: localmcpcoder

Aktuelle Tunnel-App-Konfiguration

Alle Laufzeitdateien befinden sich in apps/mcp-tunnel/: .env.local, die Binärdatei des Tunnel Client, Logs und dist-tunnel-client/. Erstellen Sie die .env.local für diese App:

CONTROL_PLANE_TUNNEL_ID=tunnel_...
CONTROL_PLANE_API_KEY=sk-...
# 可选;相对路径以 apps/mcp-tunnel 为基准
TUNNEL_CLIENT_PATH=./tunnel-client.exe
MCP_WORKSPACE_ROOT=.
# 未配置时只启用 core;配置时仅启用列出的工具
TOOLS_ENABLED=read,write,edit,bash,read_image,read_many,edit_many,notify

https://platform.openai.com/settings/organization/tunnels Hier den Tunnel erstellen -> CONTROL_PLANE_TUNNEL_ID

https://platform.openai.com/settings/organization/api-keys Hier den API-Schlüssel erstellen -> CONTROL_PLANE_API_KEY

https://chatgpt.com/plugins Hier nach dem lokalen Start Plugins hinzufügen

Wenn TOOLS_ENABLED nicht konfiguriert ist, werden nur read, write, edit und bash aktiviert. Ist die Variable leer, wird kein Tool verfügbar gemacht; ist sie nicht leer, werden nur die aufgelisteten Tools verfügbar gemacht. Der Erweiterungscode wird über dynamischen Import geladen; read_image und seine sharp-Abhängigkeit werden nur bei expliziter Aktivierung geladen.

MCP_WORKSPACE_ROOT unterstützt kommagetrennte Verzeichnisse und glob-Muster, z. B. D:/Workspace/ai-projects/*,C:/Users/Maple/.codex-cc. Relative Pfade basieren auf dem ersten übereinstimmenden Verzeichnis; absolute Pfade können auf Dateien in einem beliebigen übereinstimmenden Verzeichnis zugreifen.

read_image unterstützt PNG, JPEG, GIF und WebP; relative Pfade unterliegen den Workspace-Grenzen, absolute Pfade behalten das kompatible Verhalten zum Lesen lokaler Bilder bei. Große Bilder werden automatisch skaliert/in WebP konvertiert. edit_many wird sequenziell ausgeführt und ist nicht atomar.

Start und Bereitstellung

pnpm start:mcp-tunnel
pnpm start:mcp-tunnel:pm2
pnpm stop:mcp-tunnel:pm2
pnpm build:mcp-tunnel

Der erste Befehl startet den Tunnel im Vordergrund. Der zweite Befehl verwendet das global installierte PM2, um die App zu verwalten; der dritte Befehl stoppt und entfernt ihren PM2-Eintrag. Führen Sie zuerst npm install --global pm2 aus. PM2 gehört nicht zu den Projektabhängigkeiten und wird auch nicht in das eigenständige Paket aufgenommen. Unter Windows blendet der von PM2 verwaltete Tunnel Client sein residentes Konsolenfenster aus; beim Start im Vordergrund bleibt die sichtbare Ausgabe erhalten.

Das eigenständige Paket wird in apps/mcp-tunnel/dist-tunnel-client/ erzeugt; es enthält weder .env.local noch die Binärdatei des Tunnel Client noch node_modules. Nachdem Sie die Zugangsdaten und die Binärdatei in dieses Verzeichnis gelegt haben, führen Sie node start-cli.js aus; um node start-pm2.js auszuführen, benötigt das Hostsystem ebenfalls globales PM2.

macOS launchd ist eine optionale Kompatibilitätsschicht:

pnpm --filter @workspace/mcp-tunnel install:macos-launchd

Es ruft das PM2-Treiberskript nur bei der Anmeldung auf; den eigentlichen Dauerbetrieb und die Neustarts verwaltet PM2.

Entwicklung und Validierung

pnpm stub
pnpm check
pnpm build
pnpm test

Bitte committen Sie die .env.local-Datei, Tunnel-Zugangsdaten oder Binärdateien innerhalb der App nicht.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables remote MCP clients like ChatGPT to run shell commands and manage files on your local machine via a Cloudflare tunnel, exposing tools for file operations, search, and task management.
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables external AI (ChatGPT, Claude) to securely access a local workspace via Cloudflare Tunnel, providing file operations, shell commands, Git operations, and more with bearer token authentication and sandbox isolation.
    1
    -