For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegación principal

Túnel MCP seguro

Conecta servidores MCP privados a productos de OpenAI compatibles sin exponerlos a Internet público.

El Túnel MCP seguro te permite conectar servidores MCP privados a productos de OpenAI compatibles sin abrir puertos de entrada en el firewall ni exponer esos servidores a Internet público. Ejecuta tunnel-client dentro de la red que ya tiene acceso a tu servidor MCP; este abre una conexión HTTPS de salida hacia OpenAI, obtiene las tareas MCP en cola, reenvía las solicitudes localmente y devuelve las respuestas a través del mismo túnel.

El Túnel MCP seguro admite conexiones MCP privadas, incluidas las pruebas en modo de desarrollador. No admite el envío ni la distribución de complementos públicos. Los complementos públicos requieren un punto de acceso MCP HTTPS estable y accesible públicamente. Si el servidor MCP debe permanecer privado, expón un proxy HTTPS público que le reenvíe las solicitudes. Consulta Envío de complementos públicos para conocer los requisitos del punto de acceso y de autenticación.

¿Qué es un túnel MCP?

Un túnel MCP es una conexión solo de salida desde un host dentro de tu red hacia un punto de acceso MCP alojado en OpenAI. Úsalo cuando tu servidor MCP sea privado, esté alojado en tus instalaciones o detrás de un firewall, pero ChatGPT, Codex, la API Responses u otra interfaz de OpenAI compatible necesite hacerle solicitudes.

El Túnel MCP seguro mantiene privado el servidor MCP y proporciona a los productos de OpenAI compatibles una ruta normal para las solicitudes MCP. tunnel-client consulta a OpenAI para obtener tareas, reenvía las solicitudes MCP localmente y devuelve las respuestas a través del mismo túnel.

Usa el Túnel MCP seguro cuando

  • Tu servidor MCP se ejecuta en una red privada, en tus instalaciones, en la computadora de un desarrollador o detrás de controles de acceso existentes.
  • Quieres que ChatGPT, Codex, la API Responses u otra interfaz de OpenAI compatible use ese servidor sin hacer público el servidor MCP.
  • Tu red permite que el host donde se ejecuta tunnel-client haga solicitudes HTTPS de salida a api.openai.com:443 de forma predeterminada, o a mtls.api.openai.com:443 cuando se configura mTLS en el plano de control, y acceda al servidor MCP privado.
  • Comienza con la guía de servidores MCP para conocer los conceptos generales de MCP.

Cómo funciona

  1. Crea o administra un punto de acceso de túnel MCP alojado en OpenAI desde la configuración de túneles de la plataforma.
  2. Ejecuta tunnel-client dentro de la red que tiene acceso a tu servidor MCP privado.
  3. Configura tunnel-client con la identidad del túnel y la dirección del servidor MCP privado.
  4. Los productos de OpenAI envían solicitudes MCP al punto de acceso del túnel alojado en OpenAI.
  5. tunnel-client usa sondeo prolongado para obtener tareas en cola, reenvía cada solicitud JSON-RPC al servidor MCP privado y envía la respuesta de vuelta a través del túnel.

El servidor MCP privado no necesita un servicio de escucha público. El punto de acceso alojado en OpenAI proporciona a los productos compatibles una ruta normal para las solicitudes MCP, mientras que la conexión de red sigue iniciándose dentro de tu perímetro. Cuando un conector solicita resultados en streaming, la ruta del túnel puede reenviar eventos intermedios enviados por el servidor.

Los productos de OpenAI hacen solicitudes al punto de acceso del túnel alojado en OpenAI; tunnel-client usa sondeo prolongado para obtener tareas en cola y devuelve la respuesta MCP a través del mismo túnel.

Antes de comenzar

Necesitas:

Permisos y acceso

Los permisos de túneles de la plataforma y el acceso al modo de desarrollador de ChatGPT son independientes:

  • Para crear o editar un túnel, se requieren los permisos Leer + Administrar de Túneles.
  • Para ejecutar tunnel-client o seleccionar el túnel al crear una app, se requieren los permisos Leer + Usar de Túneles.
  • Los permisos de túneles se aplican a una organización de la plataforma. Un propietario de la organización de la plataforma o un administrador de RBAC otorga el rol de túneles.
  • El modo de desarrollador de ChatGPT es un permiso independiente del espacio de trabajo. En Enterprise/Edu, un administrador del espacio de trabajo otorga acceso al modo de desarrollador; luego, el usuario lo habilita en Configuración → Seguridad e inicio de sesión. Consulta el artículo del Centro de ayuda sobre el modo de desarrollador para conocer la política específica de cada plan.

Solicita acceso al modo de desarrollador al administrador del espacio de trabajo de ChatGPT de destino, y solicita los permisos de túneles al propietario o administrador de RBAC de la organización de la plataforma de destino.

Asocia los túneles con las organizaciones y los espacios de trabajo adecuados

Un túnel puede asociarse con una o más organizaciones de la plataforma o espacios de trabajo de ChatGPT. Usa estas asociaciones para definir cada contexto de OpenAI que deba tener permiso para encontrar o usar el túnel.

  • Incluye la organización de la plataforma que posee o administra el túnel.
  • Incluye el espacio de trabajo de ChatGPT que deba mostrar el túnel al crear apps.
  • Incluye otra organización de la plataforma cuando Codex, la API Responses u otro producto compatible vaya a hacer solicitudes al servidor MCP privado desde esa organización.
  • Usa el mismo tunnel_id para tunnel-client; agregar organizaciones o espacios de trabajo no crea un segundo túnel ni cambia el punto de acceso del servidor MCP privado.

Para las cuentas personales, usa la organización personal de la plataforma que pertenece a esa cuenta. Para realizar pruebas con ChatGPT y Codex, asocia el túnel con el espacio de trabajo de ChatGPT de destino y la organización de la plataforma que usará Codex. Un túnel asociado únicamente con una organización personal de la plataforma no aparece automáticamente en un espacio de trabajo de Enterprise/Edu.

Si la organización de la plataforma y el espacio de trabajo de ChatGPT ya están vinculados, puedes agregar la organización o el espacio de trabajo que falta en la configuración de túneles de la plataforma. Si tu configuración empresarial no puede verificarse automáticamente, por ejemplo, cuando la organización de la plataforma no tiene un espacio de trabajo de ChatGPT correspondiente, comunícate con el equipo de OpenAI que atiende tu cuenta para solicitar una excepción manual revisada que permita asociar la cuenta empresarial correspondiente que deba usar el túnel.

Requisitos de red

tunnel-client no necesita acceso entrante desde Internet. Necesita conexiones HTTPS de salida hacia OpenAI y acceso local al servidor MCP privado:

OrigenDestinoUso
Host donde se ejecuta tunnel-clientapi.openai.com:443 mediante HTTPS en /v1/tunnel/*Sondeo y envío de respuestas predeterminados.
Host donde se ejecuta tunnel-clientmtls.api.openai.com:443 mediante HTTPS en /v1/tunnel/*Sondeo y envío de respuestas cuando se configura mTLS en el plano de control.
Host donde se ejecuta tunnel-clientEl comando stdio o la URL del servidor MCP configuradosReenvío de solicitudes MCP desde tu red.

Configurar tunnel-client

Abre la configuración de túneles de Platform y usa el enlace de descarga que aparece allí o la versión pública más reciente de tunnel-client disponible en openai/tunnel-client. Mantén en tu guía operativa la URL de la versión más reciente en lugar de fijar la URL de una versión específica.

Si ya tienes un binario, comienza con tunnel-client help quickstart. Para un perfil local de stdio con nombre, usa:

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-stdio

Para un servidor MCP HTTP, usa --mcp-server-url https://mcp.internal.example.com/mcp en lugar de --mcp-command.

Mantén tunnel-client run ... funcionando correctamente mientras creas o pruebas la app. El descubrimiento de apps y las llamadas a herramientas MCP dependen de que el cliente esté en ejecución.

La interfaz de administración local en /ui muestra si el cliente en ejecución funciona correctamente, está listo y está conectado antes de que hagas pruebas desde ChatGPT, Codex o un flujo de API.

Elegir dónde ejecutar tunnel-client

Ejecuta tunnel-client dentro del mismo perímetro de confianza desde el que ya se puede acceder al servidor MCP privado. Estos son algunos patrones de despliegue comunes:

  • Sidecar de Kubernetes: ejecuta tunnel-client junto al servidor MCP en un mismo Pod y conéctate a través de localhost.
  • Despliegue dedicado de Kubernetes: ejecuta tunnel-client por separado cuando ya se pueda acceder al servidor MCP a través de un Service privado.
  • VM o servicio de systemd: ejecuta tunnel-client en un host que pueda acceder al servidor MCP a través de una red privada.

Conectarse desde ChatGPT

Ve a Complementos de ChatGPT, selecciona el botón con el signo más para crear una app en modo de desarrollador y elige Túnel en Conexión. Selecciona un túnel disponible cuando ChatGPT lo muestre en la lista o pega un tunnel_id válido si ya tienes uno.

Si el túnel no aparece en ChatGPT, verifica que esté asociado con el espacio de trabajo de ChatGPT de destino, no solo con una organización de Platform, y que quien crea la app tenga los permisos Lectura + Uso de Túneles.

Conectarse desde la API Responses

Pasa el identificador del túnel como tunnel_id en la definición de la herramienta MCP. No pases el punto de acceso del túnel alojado en OpenAI como server_url; usa server_url solo para un servidor MCP al que la API Responses pueda acceder directamente.

Usar Túnel MCP seguro con la API Responses
curl https://api.openai.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-6-astra",
    "input": "Use the private MCP server to answer my request.",
    "tools": [
      {
        "type": "mcp",
        "server_label": "private_mcp",
        "tunnel_id": "tunnel_0123456789abcdef0123456789abcdef"
      }
    ]
  }'

Seguridad y redes

El servidor MCP privado permanece dentro del entorno controlado por el cliente. tunnel-client se conecta a OpenAI mediante HTTPS saliente usando la clave de API de ejecución y, cuando es necesario, mTLS opcional para el plano de control.

  • La dirección del servidor MCP permanece privada y solo se usa desde el interior del entorno donde se ejecuta tunnel-client.
  • tunnel-client se autentica ante el plano de control de túneles de OpenAI; los productos de OpenAI compatibles usan el punto de acceso del túnel alojado en OpenAI.
  • El acceso al túnel respeta el contexto existente de la organización y el espacio de trabajo, en lugar de introducir una vía de entrada pública independiente.
  • tunnel-client admite requisitos de redes empresariales, como proxies de salida, paquetes de certificados de CA personalizados, certificados de cliente para el plano de control y mTLS del lado de MCP.

Límites del registro

Túnel MCP seguro separa el transporte por el túnel del registro del producto a nivel de la app:

  • La ruta del túnel no emite la autenticación del plano de control, el tráfico de sondeo prolongado y respuestas ni las solicitudes individuales de transporte por el túnel como eventos de apps de la Plataforma de cumplimiento de ChatGPT.
  • Los cambios en los metadatos del túnel se exponen en los registros de auditoría de la Plataforma API como tunnel.created, tunnel.updated y tunnel.deleted.
  • Cuando ChatGPT accede a una app personalizada a través de Túnel MCP seguro, el túnel sigue siendo únicamente la vía de transporte. El registro habitual de cumplimiento a nivel de la app sigue aplicándose en la ruta de la app, incluidos los registros de invocación y los del ciclo de vida de autenticación de la app, como APP_AUTH_LOG cuando la app se vincula o desvincula.

Avanzado: llamadas HTTP incluidas en la lista de permitidos

Túnel MCP seguro también puede admitir llamadas HTTP de alcance limitado desde flujos de agentes o de API compatibles hacia la red de un cliente. tunnel-client incluye un servidor MCP integrado, Harpoon, que expone los destinos HTTP configurados por etiqueta y permite a quienes realizan las llamadas invocarlos a través del túnel, con límites definidos para las solicitudes y respuestas.

Usa esta opción cuando necesites acceder a un pequeño conjunto de puntos de acceso REST privados sin exponerlos públicamente. Harpoon no es un proxy de uso general: quienes realizan las llamadas no pueden elegir hosts arbitrarios, y las solicitudes se limitan a los destinos y métodos configurados por el cliente.

Solución de problemas

  • “Se requiere acceso a Túneles” en la configuración de túneles de Platform: los permisos de los túneles se aplican a nivel de organización, no de proyecto. Selecciona la organización de Platform correspondiente y pide a un propietario de la organización o administrador de RBAC que te agregue a un rol o grupo con Lectura para ver los túneles, o con Lectura + Administración para crearlos, editarlos o eliminarlos. Si no existe un rol adecuado, puede crear uno, asignarlo a un grupo y agregarte a ese grupo. También necesitas Uso para ejecutar tunnel-client o seleccionar un túnel en la configuración del conector. Una nueva asignación de rol puede tardar hasta 30 minutos en propagarse.
  • El túnel no aparece en ChatGPT: comprueba que el túnel incluya el espacio de trabajo de ChatGPT de destino, no solo una organización de Platform; luego comprueba que el operador del conector tenga el permiso Uso de Túneles. Si el espacio de trabajo de una cuenta empresarial no se puede vincular automáticamente, comunícate con el equipo de OpenAI que gestiona tu cuenta para solicitar una excepción revisada que permita asociarlo manualmente.
  • Falla el descubrimiento del conector o las llamadas a herramientas: confirma que tunnel-client run ... siga en ejecución y vuelve a ejecutar tunnel-client doctor --profile <name> --explain.
  • Puedes inspeccionar un túnel, pero no editarlo: es probable que el operador tenga el permiso Lectura de Túneles, pero no el de Administración.
  • tunnel-client expone /healthz, /readyz, /metrics y una interfaz de administración local en /ui.
  • De forma predeterminada, la interfaz de administración solo está disponible a través de loopback. Habilita el acceso remoto únicamente cuando necesites permitir deliberadamente el acceso desde una red de operadores.
  • Usa esas interfaces para confirmar que el cliente funciona correctamente, está listo y está realizando sondeos antes de hacer pruebas desde ChatGPT, Codex o un flujo de API.
  • Si el cliente no está conectado, las solicitudes a través del túnel fallan hasta que tunnel-client se vuelve a conectar.
  • El registro de HTTP sin procesar está deshabilitado de forma predeterminada, y se ocultan los datos sensibles en las exportaciones para soporte.

OAuth

  • El descubrimiento de OAuth puede realizarse a través del túnel para que el propio servidor MCP permanezca privado.
  • El túnel conserva los metadatos del servidor de autorización de origen necesarios para los flujos de OAuth que interactúan con el navegador.
  • El servidor de autorización en sí no se canaliza automáticamente a través del túnel. Si no se puede acceder a él desde la internet pública ni desde el host de tunnel-client, el flujo de OAuth puede fallar incluso cuando el servidor MCP sea accesible.

Dónde configurarlo

  • Administra los puntos de acceso de túneles MCP alojados en OpenAI en la configuración de túneles de Platform.
  • Usa un túnel al crear una app en modo de desarrollador en Complementos de ChatGPT.
  • Para los flujos de Codex o de la API, usa el destino MCP accesible a través del túnel que ofrece la interfaz del producto compatible.

Próximos pasos

Captura de pantalla de la configuración de túneles de la plataforma de OpenAI, sin datos sensibles.

Crea y administra puntos de acceso de túneles MCP alojados en OpenAI desde la configuración de túneles de la plataforma.

Captura de pantalla de la creación de una app en ChatGPT con la opción Túnel seleccionada, sin datos sensibles.

Selecciona Túnel al conectar una app de ChatGPT en modo de desarrollador a un servidor MCP privado.