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:
- vystavit MCP server veřejně,
- otevřít inbound firewall pravidla,
- nasadit vlastní reverse proxy nebo VPN,
- nebo MCP server z OpenAI produktů vůbec nepoužívat.
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é:
- firmy mají interní nástroje, API a databáze, které nemají být veřejně dostupné,
- security týmy často neschválí nový veřejný MCP endpoint jen kvůli AI klientovi,
- ChatGPT, Codex a API integrace potřebují jednotný způsob, jak takový server najít a volat,
- provozní tým potřebuje healthchecky, readiness, metriky a viditelnost, jestli tunel skutečně běží.
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:
- V OpenAI Platform se vytvoří nebo nastaví tunnel endpoint.
- V interní síti se spustí
tunnel-client. - Klient zná
tunnel_id, runtime API klíč a adresu lokálního MCP serveru. - OpenAI produkt pošle MCP požadavek na OpenAI-hosted tunnel endpoint.
tunnel-clientpřes outbound HTTPS long-polling zjistí, že má práci.- Požadavek předá lokálnímu MCP serveru přes stdio nebo HTTP.
- 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:
- outbound HTTPS na
api.openai.com:443, - při použití control-plane mTLS outbound HTTPS na
mtls.api.openai.com:443, - lokální nebo privátní síťový přístup k MCP serveru.
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:
tunnel_idz Platform tunnel settings,- runtime API key pro
tunnel-client, - oprávnění Tunnels Read + Use pro identitu, která klienta spouští,
- MCP server dostupný z hostu, kde klient poběží.
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:
- Kubernetes sidecar – klient běží ve stejném Podu jako MCP server a připojuje se přes
localhost. - Samostatný Kubernetes deployment – klient běží odděleně a MCP server vidí přes privátní Service.
- VM nebo systemd služba – klient běží na stroji, který má síťový přístup k MCP serveru.
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ě:
- zda je tunel asociovaný s cílovým ChatGPT workspace,
- zda není asociovaný pouze s Platform organizací,
- zda má operátor konektoru oprávnění Tunnels Read + Use.
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:
- adresa MCP serveru zůstává privátní,
tunnel-clientse autentizuje vůči OpenAI tunnel control plane,- přístup se váže na organizace a workspaces v OpenAI prostředí,
- klient podporuje enterprise síťové prvky jako outbound proxy, custom CA bundle, control-plane client certifikáty a MCP-side mTLS,
- metadata změn tunelu se objevují v audit logách jako
tunnel.created,tunnel.updatedatunnel.deleted.
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ž:
- MCP server běží lokálně, on-premises nebo v privátní síti,
- nechceš nebo nemůžeš vystavit veřejný MCP endpoint,
- chceš připojit interní nástroje do ChatGPT, Codexu nebo Responses API,
- bezpečnostní model preferuje outbound-only spojení,
- potřebuješ provozní dohled nad tím, jestli spojení do tunelu běží.
Naopak to není náhrada za obecnou VPN, plnohodnotný reverse proxy stack nebo univerzální tunel pro libovolné interní služby.