Skip to main content
Glama
6maple

OpenAI Secure MCP Tunnel

by 6maple

OpenAI Secure MCP Tunnel

Un monorepo de Turborepo: mcp-tunnel expone los servicios MCP stdio locales al workspace a través de OpenAI Tunnel Client. Las herramientas principales y las extensiones opcionales se ofrecen como paquetes de workspace; en el futuro se podrán añadir nuevas aplicaciones combinadas independientes apps/mcp-*.

Arquitectura

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               工作区文件、编辑、命令和路径安全适配

El entorno de desarrollo usa pnpm stub (también se ejecuta en postinstall) mediante unbuild --stub, por lo que no es necesario compilar manualmente después de modificar un paquete.

Related MCP server: localmcpcoder

Configuración actual de la aplicación Tunnel

Todos los archivos de ejecución se encuentran en apps/mcp-tunnel/: .env.local, el binario de Tunnel Client, los registros y dist-tunnel-client/. Crea el .env.local de esta aplicación:

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 Crea aquí el tunnel -> CONTROL_PLANE_TUNNEL_ID

https://platform.openai.com/settings/organization/api-keys Crea aquí la api-key -> CONTROL_PLANE_API_KEY

https://chatgpt.com/plugins Después del inicio local, añade aquí los plugins

Cuando TOOLS_ENABLED no está configurado, solo se habilitan read, write, edit, bash. Si la configuración está vacía, no se expone ninguna herramienta; si la configuración no está vacía, solo se exponen las herramientas listadas. El código de las extensiones se carga mediante importación dinámica; read_image y su dependencia sharp solo se cargan cuando se habilitan explícitamente.

MCP_WORKSPACE_ROOT admite directorios separados por comas y patrones glob, por ejemplo D:/Workspace/ai-projects/*,C:/Users/Maple/.codex-cc. Las rutas relativas usan como base el primer directorio que coincida; las rutas absolutas pueden acceder a archivos dentro de cualquier directorio que coincida.

read_image admite PNG, JPEG, GIF, WebP; las rutas relativas están restringidas por el límite del workspace, mientras que las rutas absolutas conservan el comportamiento de compatibilidad de leer imágenes locales. Las imágenes grandes se escalan/convierten automáticamente a WebP. edit_many se ejecuta en orden y no es atómico.

Inicio y despliegue

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

El primer comando inicia Tunnel en primer plano. El segundo comando usa PM2 instalado globalmente para gestionar la aplicación; el tercer comando detiene y elimina su registro de PM2; ejecuta primero npm install --global pm2. PM2 no forma parte de las dependencias del proyecto ni se incluye en el paquete independiente. En Windows, Tunnel Client administrado por PM2 oculta su ventana de consola residente; el inicio en primer plano sigue mostrando salida visible.

El paquete independiente se genera en apps/mcp-tunnel/dist-tunnel-client/; no incluye .env.local, el binario de Tunnel Client ni node_modules. Coloca las credenciales y el binario en ese directorio y ejecuta node start-cli.js; para ejecutar node start-pm2.js, el host también necesita PM2 global.

macOS launchd es una capa de compatibilidad opcional:

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

Solo invoca el script controlador de PM2 al iniciar sesión; el proceso residente real y el reinicio los gestiona PM2.

Desarrollo y verificación

pnpm stub
pnpm check
pnpm build
pnpm test

No hagas commit del .env.local de la aplicación, las credenciales de Tunnel ni los archivos binarios.

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
    -