Guía
Secure MCP Tunnel de ChatGPT: túnel de OpenAI, ID y errores
El Secure MCP Tunnel de ChatGPT, que mucha gente busca como «túnel de OpenAI», es una función de OpenAI que conecta ChatGPT con un servidor MCP privado o en localhost sin darle una URL pública ni abrir puertos de entrada en el cortafuegos. Ejecutas el tunnel-client de OpenAI junto al servidor: abre una conexión HTTPS saliente hacia OpenAI, recoge las peticiones MCP de ChatGPT, se las pasa a tu servidor y devuelve las respuestas.
Esta guía se basa en la documentación de OpenAI. Al final verás una comparación breve con TunnelGPT.
¿Dónde encuentro y cómo reutilizo el ID de un OpenAI Secure MCP Tunnel existente?
Abre OpenAI Platform → Settings → Organization → Tunnels, selecciona la organización propietaria del túnel existente y copia su tunnel_id completo. Reutiliza ese mismo ID del túnel en tunnel-client (--tunnel-id o CONTROL_PLANE_TUNNEL_ID) y en ChatGPT, en Connection: Tunnel. El ID identifica un túnel; no es una clave de API.
Si ChatGPT no muestra el túnel, comprueba que esté asociado al espacio de ChatGPT de destino y que la cuenta que configura el conector tenga Tunnels Read + Use. Asociarlo a una organización no lo hace disponible automáticamente en todos los espacios.
¿Qué permisos necesita la clave de API de tunnel-client?
Para ejecutar el cliente, configura CONTROL_PLANE_API_KEY con una clave Restricted (restringida) que tenga Tunnels Read + Use para el túnel previsto. La guía de permisos de OpenAI distingue entre leer información del túnel y usarlo para atender solicitudes.
Crear, editar o eliminar registros de túneles es una tarea administrativa y requiere Tunnels Read + Manage. Mantén las credenciales administrativas separadas de la clave restringida que usa el cliente en ejecución. La cuenta o identidad propietaria de la clave también necesita acceso: elegir los permisos de una clave no concede un rol que le falte a esa cuenta. El permiso del espacio de ChatGPT para añadir o usar un servidor MCP personalizado se comprueba por separado.
¿Por qué no conecta mi OpenAI Secure MCP Tunnel?
Identifica la etapa que ha fallado antes de cambiar credenciales o reiniciar procesos. Un error de acceso a Platform, un fallo de autorización del cliente, un problema de preparación, una asociación incorrecta al espacio de trabajo y un servidor MCP local inaccesible necesitan comprobaciones distintas. La guía de diagnóstico de tunnel-client separa estos casos.
- Acceso a Platform. Confirma la organización seleccionada y tu rol en Platform. Leer información del túnel requiere Read; crear o editar un túnel requiere Read + Manage.
- Autorización del cliente. Confirma que el proceso usa la clave restringida
CONTROL_PLANE_API_KEYprevista, que su cuenta o identidad tiene Tunnels Read + Use y que el ID del túnel coincide con el de ChatGPT. Un 403 por sí solo no identifica la causa: revisa qué solicitud falló y qué credencial utilizó. Si se pueden leer los metadatos pero el polling falla con 401/403, comprueba Use en la identidad de la clave y los permisos de la clave de ejecución. - Proceso y preparación. Ejecuta
tunnel-client doctor --profile <name> --explaincomo comprobación previa local./healthzindica que el proceso está activo;/readyz, que está preparado para atender solicitudes. Resuelve la comprobación concreta que falla: un proceso activo no demuestra que el conector funcione. - Espacio de trabajo de ChatGPT. Comprueba que el túnel esté asociado al espacio donde añades el servidor MCP personalizado, que quien configura el conector tenga Read + Use y que ChatGPT seleccione el mismo ID que el cliente en ejecución.
- Servidor MCP local y red. Comprueba el comando stdio o la URL MCP desde el entorno donde se ejecuta tunnel-client. Necesita salida HTTPS a OpenAI y acceso al servidor MCP; el servidor local no necesita un puerto público de entrada.
doctor comprueba los requisitos locales; no demuestra que una llamada MCP de extremo a extremo desde ChatGPT haya terminado correctamente ni que la clave pueda hacer polling del túnel de destino. Tampoco /healthz ni /readyz demuestran por sí solos esa llamada. Termina solicitando desde ChatGPT una herramienta de solo lectura e inocua que exponga tu servidor MCP y revisa el resultado realmente devuelto.
Comprobado el 26 de octubre de 2026
- Fuentes: la guía de Secure MCP Tunnel de OpenAI, la página Add custom MCP server y la documentación de openai/tunnel-client. Las páginas de OpenAI no llevan fecha.
- Funciona con ChatGPT, Codex y la Responses API, para conexiones privadas. No sirve para publicar un plugin público.
- Hay dos sistemas de permisos: los de Tunnels en tu organización de OpenAI Platform y los de servidores MCP personalizados en tu espacio de trabajo de ChatGPT.
- Límites por defecto: 600 peticiones MCP por minuto, 10 MiB por petición o respuesta y 120 segundos de plazo por petición.
Qué necesitas antes de empezar
- Un `tunnel_id` de los ajustes de túneles de Platform.
- Una clave de API restringida con Tunnels Read + Use, para tunnel-client.
- Un servidor MCP al que tunnel-client llegue por stdio (un comando que él arranca) o por HTTP.
- Roles en Platform. Crear o editar un túnel exige Tunnels Read + Manage; ejecutar tunnel-client o elegir el túnel en ChatGPT exige Read + Use. Los concede el propietario de la organización o un administrador de RBAC.
- Acceso en ChatGPT. Los servidores MCP personalizados se añaden en ChatGPT web, sujetos a los permisos y restricciones de seguridad del espacio de trabajo, incluido Lockdown.
- HTTPS saliente hacia
api.openai.com:443. No hace falta acceso de entrada.
Las guías para desarrolladores de OpenAI no indican qué planes de ChatGPT pueden añadir servidores MCP personalizados. Consulta para tu plan el artículo del Centro de ayuda sobre el modo desarrollador y las apps MCP en ChatGPT.
Cómo configurar un Secure MCP Tunnel, paso a paso
- Crea el túnel y copia su ID. En los ajustes de túneles de Platform, crea un túnel y asócialo al espacio de trabajo de ChatGPT donde vayas a añadir el servidor, no solo a una organización de Platform. Copia el
tunnel_id. Espera entre 25 y 30 segundos antes de darlo por listo. - Crea una clave restringida con Tunnels Read + Use. En las claves de API de Platform, crea una clave Restricted y marca Tunnels Read + Use. No uses una clave All ni una de administrador para un cliente que estará siempre en marcha.
- Arranca tunnel-client junto al servidor MCP. Descárgalo desde los ajustes de túneles o desde la última versión publicada. En macOS, instálalo con Homebrew,
brew install openai/tools/tunnel-client, porque los ZIP descargados directamente no están notarizados. Crea un perfil, revísalo condoctor, arráncalo conruny déjalo funcionando. - Añádelo en ChatGPT. Entra en ChatGPT Plugins, pulsa el botón más y elige Add custom MCP server. Ponle nombre, elige Tunnel en Connection y selecciona tu túnel o pega el
tunnel_id. Configura la autenticación, pulsa I understand and want to continue y luego Create as a plugin. - Instala el plugin y úsalo. En una conversación nueva, escribe
@y selecciónalo. Las acciones de escritura piden tu confirmación por defecto.
Los comandos de la guía de OpenAI para un servidor stdio local:
export CONTROL_PLANE_API_KEY="sk-..."
tunnel-client init \
--sample sample_mcp_stdio_local \
--profile local-stdio \
--tunnel-id tunnel_0123456789abcdef0123456789abcdef \
--mcp-command "python /path/to/server.py"
tunnel-client doctor --profile local-stdio --explain
tunnel-client run --profile local-stdioSi el servidor MCP es HTTP, usa --mcp-server-url en lugar de --mcp-command. tunnel-client help quickstart te muestra el camino más corto para tu caso.
Qué es el ID del túnel
El ID del túnel identifica un endpoint de túnel alojado por OpenAI. Es tunnel_ seguido de 32 letras minúsculas o dígitos, por ejemplo tunnel_0123456789abcdef0123456789abcdef, y algunos añaden un espacio de nombres de cuatro caracteres: tunnel_<namespace>_<32 caracteres>. Cópialo tal cual lo muestra Platform. El mismo ID va en tunnel-client (--tunnel-id o CONTROL_PLANE_TUNNEL_ID) y en ChatGPT.
Qué es tunnel-client
tunnel-client es el programa que OpenAI publica para el Secure MCP Tunnel. Funciona junto a tu servidor MCP: consulta a OpenAI de forma continua por si hay peticiones MCP en cola, pasa cada petición JSON-RPC al servidor y devuelve la respuesta. Lee la clave de CONTROL_PLANE_API_KEY y ofrece /healthz, /readyz, /metrics y un panel local en /ui, por defecto en 127.0.0.1:8080.
Con un servidor stdio, ejecuta un solo tunnel-client por ID de túnel, también durante un reinicio. Da a cada servidor independiente su propio ID.
Flujo de datos y seguridad: qué va a OpenAI y qué se queda en local
- Se queda de tu lado: el servidor MCP y su dirección. No necesita escuchar en público y solo se le llama desde donde corre tunnel-client.
- Pasa por OpenAI: cada petición MCP de ChatGPT y cada respuesta de tu servidor. Los resultados de herramientas que usa ChatGPT se envían a OpenAI para que pueda responder. El túnel mantiene privado el servidor, pero la conversación no es local.
- Sentido: solo HTTPS saliente, hacia
api.openai.com:443en/v1/tunnel/*. - Registros: el registro HTTP en bruto está desactivado por defecto y las exportaciones para soporte omiten los datos sensibles. Los cambios de túneles quedan en los registros de auditoría de Platform.
- OAuth: el descubrimiento puede ir por el túnel, pero el servidor de autorización no se tuneliza, así que debe ser accesible.
- Confianza: OpenAI aconseja conectar solo servidores MCP de confianza. Las herramientas sin la anotación
readOnlyHintcuentan como acciones de escritura.
Problemas habituales y cómo resolverlos
«Unsafe URL» con una dirección localhost. ChatGPT no acepta localhost ni direcciones privadas como Server URL. Elige Tunnel en Connection.
«Tunnels access required» en Platform. Los permisos de túneles son de organización, no de proyecto. Elige la organización correcta y pide a un propietario o administrador de RBAC Read, o Read + Manage para crear túneles. Un rol nuevo puede tardar hasta 30 minutos en aplicarse.
El túnel no aparece en ChatGPT. Comprueba que está asociado al espacio de trabajo de ChatGPT, no solo a una organización de Platform, y que tienes Tunnels Read + Use. Un túnel ligado solo a una organización personal no aparece por sí solo en un espacio Enterprise o Edu.
El túnel no está listo o no se detectan las herramientas. tunnel-client debe estar en marcha al crear el plugin y en cada llamada. Mira /readyz, no solo /healthz, confirma que ChatGPT usa el mismo ID y ejecuta tunnel-client doctor --profile <name> --explain.
Errores de permisos de la clave (401/403). Comprueba qué solicitud y credencial fallaron. Si se pueden leer los metadatos pero falla el polling del cliente, revisa Tunnels Use en la identidad de la clave y Read + Use en la clave restringida. Si falla la creación o edición de túneles, comprueba los permisos administrativos Read + Manage. Un 403 por sí solo no distingue estas etapas.
Funcionaba y dejó de hacerlo. Si el ordenador de tunnel-client entra en reposo, pierde la red o el proceso se cierra, las peticiones fallan hasta que vuelve a conectarse. Mantén la máquina despierta y el cliente en marcha.
Hacerlo tú mismo o dejar que TunnelGPT lo gestione
Hacerlo por tu cuenta solo requiere las herramientas de OpenAI y te da el control total, pero cada proyecto o servidor MCP necesita su túnel, su proceso cliente y su plugin en ChatGPT. TunnelGPT es una aplicación independiente para Mac, sin relación con OpenAI, que se encarga de esa parte.
| Secure MCP Tunnel por tu cuenta | TunnelGPT | |
|---|---|---|
| Túnel y clave | Los creas en Platform. | También los creas tú. TunnelGPT no crea el túnel ni la credencial de OpenAI por ti; la configuración guiada te acompaña. |
| tunnel-client | Lo instalas, arrancas y reinicias para cada servidor. | Lo ejecuta por ti, con versión fijada y hash verificado: una conexión por proyecto y otra por cada MCP local. |
| Acceso | Lo que exponga tu servidor MCP. | Primero solo lectura; la edición es un interruptor aparte en cada proyecto. |
| Comandos | Depende de tu servidor MCP. | Requieren un permiso aparte y se ejecutan en un contenedor Docker sin red. |
| Plataforma | Donde funcione tunnel-client. | App firmada solo para Mac con Apple Silicon (M1 o posterior). Requiere Docker 24+. |
| Precio | La guía de OpenAI no indica un precio aparte para los túneles. | $9.97 USD en un único pago, Licencia Perpetua de la versión 1, con 3 días de prueba gratis. |
Ambas usan el mismo Secure MCP Tunnel de OpenAI, sin servidor intermedio de TunnelGPT, y en ambas rigen tu plan y los límites de OpenAI. Consulta también TunnelGPT frente a túneles MCP autogestionados.
Preguntas frecuentes
¿El Secure MCP Tunnel es gratis?
La guía de OpenAI no indica un precio aparte para los túneles. Consulta la documentación de OpenAI para las condiciones vigentes.
¿Funciona con ChatGPT Plus, Pro o Business?
Las guías de OpenAI dicen que depende de las políticas de la cuenta y del espacio de trabajo, pero no detallan planes; consulta su Centro de ayuda. Nuestro equipo probó TunnelGPT, que usa este túnel, en ChatGPT Plus y Pro en octubre de 2026. Eso no cubre todas las cuentas, y la disponibilidad puede cambiar.
¿Puedo usarlo con Claude u otros clientes MCP?
OpenAI documenta el Secure MCP Tunnel solo para sus propios productos: ChatGPT, Codex, la Responses API y AgentKit. Para otros clientes, consulta su documentación.
¿Necesito un VPS?
No. El servidor MCP puede quedarse en tu portátil o en una red privada, porque tunnel-client solo necesita HTTPS saliente. Esa máquina tiene que seguir encendida y conectada mientras ChatGPT la usa. Más detalles en cómo usar servidores MCP locales con ChatGPT.
Fuentes
- OpenAI: guía de Secure MCP Tunnel
- OpenAI: Add custom MCP server
- OpenAI: Connect and test your plugin
- README de openai/tunnel-client
- Guía de inicio de tunnel-client
- Permisos, roles y claves de tunnel-client
- Solución de problemas de tunnel-client
Siguientes pasos
- Haz la configuración inicial de TunnelGPT
- Consulta el precio y la licencia
- Usa servidores MCP locales con ChatGPT, sin VPS