Obsah

OpenAI Secure MCP Tunnels

Vytvořeno: 13.6.2026 | Aktualizováno: 13.06.2026 15:21

OpenAI Secure MCP Tunnel je mechanismus pro připojení privátních MCP serverů k podporovaným produktům OpenAI bez vystavení serveru do veřejného internetu. Prakticky jde o outbound-only tunel: v síti, která už vidí na privátní MCP server, běží klient a přes HTTPS si tahá práci z OpenAI.

Co to řeší

MCP servery často běží lokálně, ve firemní síti, v Kubernetes clusteru nebo za firewallem. Pokud je má používat ChatGPT, Codex, Responses API nebo jiný OpenAI produkt, vzniká problém: OpenAI se k nim z internetu nedostane.

Bez tunelu jsou typické možnosti:

Secure MCP Tunnel řeší hlavně první dvě varianty. Privátní MCP server zůstává uvnitř vlastní sítě a ven navazuje spojení jen klient tunnel-client. To je bezpečnostně i provozně přijatelnější model pro prostředí, kde není žádoucí otevírat nové veřejné endpointy.

Proč to OpenAI udělala

OpenAI tím doplnila chybějící enterprise deployment pattern pro MCP. Samotný MCP standard řeší, jak spolu klient a server mluví, ale neřeší pohodlně situaci, kdy je server privátní a AI produkt běží mimo danou síť.

Důvody jsou praktické:

Podle README klienta openai/tunnel-client je tunnel-client zákazníkem provozovaný agent za Secure MCP Tunnel. Připojuje privátní nebo localhost MCP server k ChatGPT, Codexu, Responses API a AgentKitu přes OpenAI-hosted tunnel endpoint, ale samotný MCP server nenechává na veřejném internetu.

Jak to funguje

Zjednodušený tok:

  1. V OpenAI Platform se vytvoří nebo nastaví tunnel endpoint.
  2. V interní síti se spustí tunnel-client.
  3. Klient zná tunnel_id, runtime API klíč a adresu lokálního MCP serveru.
  4. OpenAI produkt pošle MCP požadavek na OpenAI-hosted tunnel endpoint.
  5. tunnel-client přes outbound HTTPS long-polling zjistí, že má práci.
  6. Požadavek předá lokálnímu MCP serveru přes stdio nebo HTTP.
  7. Odpověď vrátí zpět stejnou tunelovou cestou.

MCP server tedy nepotřebuje veřejný listener. Z pohledu OpenAI produktu existuje normální MCP request path, ale síťové spojení iniciuje komponenta uvnitř privátní sítě.

Síťové požadavky

Host, kde běží tunnel-client, potřebuje:

Inbound přístup z internetu není potřeba. To je hlavní rozdíl proti veřejně vystavenému MCP endpointu.

Základní nastavení

Nejdřív je potřeba:

Příklad pro lokální stdio MCP server:

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

Pro HTTP MCP server se místo --mcp-command použije --mcp-server-url, například:

tunnel-client init \
  --sample sample_mcp_stdio_local \
  --profile private-http \
  --tunnel-id tunnel_0123456789abcdef0123456789abcdef \
  --mcp-server-url https://mcp.internal.example.com/mcp

Po spuštění musí tunnel-client run zůstat běžet. Discovery konektoru i samotné MCP tool calls závisí na aktivním klientovi.

Kde klienta provozovat

V dokumentaci jsou popsané tři typické varianty:

Obecné pravidlo: tunnel-client má běžet ve stejné trust boundary, odkud je MCP server už dnes bezpečně dostupný.

Napojení do ChatGPT

V ChatGPT connector settings se vytvoří custom connector a jako typ připojení se zvolí Tunnel. Potom se vybere dostupný tunel nebo se vloží platné tunnel_id.

Pokud se tunel v ChatGPT nezobrazuje, je potřeba zkontrolovat hlavně:

Bezpečnostní poznámky

Secure MCP Tunnel není obecná veřejná proxy pro libovolný provoz. Je to transportní cesta pro MCP požadavky přes OpenAI-hosted tunnel endpoint.

Důležité vlastnosti:

Klient vystavuje provozní endpointy /healthz, /readyz, /metrics a lokální admin UI na /ui. Admin UI je podle dokumentace defaultně dostupné jen přes loopback; vzdálené vystavení by mělo být vědomé provozní rozhodnutí.

OAuth a interní HTTP callouty

OAuth discovery může jít přes tunel, takže samotný MCP server může zůstat privátní. Autorizační server ale není automaticky tunelovaný. Pokud není dosažitelný z veřejného internetu ani z hostu s tunnel-client, OAuth flow může selhat.

Pokročilá část dokumentace zmiňuje také allowlistované HTTP callouty přes embedded MCP server Harpoon. To je určené pro malé množství explicitně nakonfigurovaných interních REST endpointů. Harpoon není obecná proxy: volající si nemůže vybrat libovolný host a požadavky jsou omezené na nastavené cíle a metody.

Kdy to použít

Secure MCP Tunnel dává smysl, když:

Naopak to není náhrada za obecnou VPN, plnohodnotný reverse proxy stack nebo univerzální tunel pro libovolné interní služby.

Zdroje