
Conectando servidores MCP privados ao OpenAI: guia de configuração do túnel MCP seguro de 2026
Conecte servidores MCP privados ao OpenAI: um guia de configuração do túnel MCP seguro de 2026
Resumo. O Túnel MCP Seguro da OpenAI, adicionado ao changelog da API em 2026, permite que o ChatGPT, Codex e a API de Respostas chamem um servidor MCP privado ou local por meio de um caminho HTTPS somente de saída, sem portas de firewall de entrada e sem ouvinte público. Funciona através de um agente de código aberto, tunnel-client (Apache-2.0, versão v0.0.8 datada de 7 de maio de 2026), que roda dentro da sua rede, faz polling longo em api.openai.com na porta 443, encaminha cada solicitação JSON-RPC para o servidor MCP e publica a resposta de volta. Isso é importante porque o atalho usual, publicar o servidor MCP para que um modelo possa acessá-lo, é perigoso: o resumo de junho de 2026 da Adversa AI cita uma varredura do Censys que encontrou 12.520 serviços MCP expostos à internet, a maioria não autenticada, e auditorias onde cerca de 40% não exigiam autenticação alguma. Com a média global de violação de dados em $4,44 milhões em 2025 e as penalidades do DPDP na Índia chegando a ₹250 crore, manter o servidor privado é o padrão correto. Este guia cobre o que é o túnel, como funciona, uma configuração completa, endurecimento e quando escolher outra coisa.
O problema: não publique seu servidor MCP
O Protocolo de Contexto do Modelo (MCP) é como os modelos chamam ferramentas, e as equipes estão cada vez mais envolvendo sistemas internos como servidores MCP. O erro tentador é dar a esse servidor uma URL pública para que o ChatGPT ou um agente possam acessá-lo. Os dados de exposição são ruins. O resumo de segurança de junho de 2026 da Adversa AI reúne as medições. O Censys contou 12.520 serviços MCP acessíveis pela internet, a maioria deles não autenticada, muitos expondo capacidades de consulta de banco de dados e execução de comandos para qualquer um que se conecte. Um primeiro estudo de medição em larga escala encontrou aproximadamente 40% dos servidores MCP remotos expondo suas ferramentas sem autenticação, e rastreou nove CVEs para fluxos OAuth quebrados. Uma estrutura de varredura, VIPER-MCP, varreu cerca de 40.000 repositórios de servidores e produziu 67 CVEs, e o acompanhamento da Trend Micro contou 1.467 servidores expostos, incluindo falhas de injeção de comando CVSS 9.8 em servidores MCP não oficiais da AWS e Azure.
A solução é chata e bem compreendida: coloque autenticação na frente de cada servidor MCP remoto e retire os não autenticados da internet pública, conselho que a NSA ecoou em sua própria orientação de endurecimento MCP em 2026. O custo de não fazer isso é concreto. O relatório de Custo de uma Violação de Dados da IBM de 2025 colocou a média global em $4,44 milhões, uma queda de 9% em relação a $4,88 milhões, mas ainda alta, com a média dos Estados Unidos subindo para $10,22 milhões. Na Índia, uma violação de dados pessoais pode resultar em penalidades de até ₹250 crore sob a Lei de Proteção de Dados Pessoais Digitais, 2023. O servidor MCP mais seguro é aquele que nunca aceita uma conexão de entrada da internet.
O que é o Túnel MCP Seguro
O Túnel MCP Seguro é uma conexão somente de saída de um host dentro da sua rede para um endpoint MCP hospedado pela OpenAI. O servidor MCP privado não mantém ouvinte público. Em vez disso, tunnel-client roda onde já pode alcançar o servidor, abre um canal HTTPS de saída para a OpenAI, puxa o trabalho MCP enfileirado, encaminha cada solicitação localmente e retorna a resposta pelo mesmo canal. As superfícies suportadas pela OpenAI, ChatGPT, Codex e a API de Respostas, enviam suas solicitações MCP para o endpoint do túnel hospedado pela OpenAI e recebem um caminho de solicitação MCP normal em troca.
O objetivo do design é estreito e útil: dar a um modelo uma chamada de ferramenta funcional em um sistema que permanece atrás do seu firewall, sem uma VPN para a OpenAI, sem uma porta de entrada, e sem um novo ingresso público. O acesso ao túnel segue sua organização e contexto de espaço de trabalho existentes da OpenAI, em vez de uma porta pública separada.
Como funciona
O fluxo tem cinco etapas, segundo o guia da OpenAI. Primeiro, você cria um endpoint de túnel MCP hospedado pela OpenAI nas configurações de túnel da Plataforma e obtém um tunnel_id. Em segundo lugar, você executa tunnel-client dentro da rede que pode alcançar o servidor MCP privado. Em terceiro lugar, você o configura com a identidade do túnel e o endereço do servidor MCP. Quarto, os produtos da OpenAI enviam solicitações MCP para o endpoint do túnel hospedado. Quinto, tunnel-client faz polling longo para trabalho enfileirado, encaminha cada solicitação JSON-RPC para o servidor e publica a resposta de volta.
Nos bastidores, o cliente se comunica com uma pequena API de controle: faz polling longo em GET /v1/tunnel/{tunnel_id}/poll, envia resultados para POST /v1/tunnel/{tunnel_id}/response, e lê metadados de GET /v1/tunnels/{tunnel_id}. Ele encaminha JSON-RPC para o seu servidor MCP via HTTP Streamable, stdio ou um transporte em memória, e quando um conector solicita saída transmitida, o túnel encaminha eventos enviados pelo servidor intermediário. Nenhum acesso à internet de entrada é necessário; o host só precisa de HTTPS de saída para api.openai.com:443, ou mtls.api.openai.com:443 quando o mTLS do plano de controle está configurado, além de acessibilidade local ao servidor MCP.
Configuração, passo a passo
Você precisa de três coisas antes de começar: um tunnel_id das configurações de túnel da Plataforma, uma chave de API de tempo de execução cujo principal tenha Tunnels Read e Use nesse túnel, e um servidor MCP que o cliente possa alcançar via stdio ou HTTP. Criar ou editar metadados do túnel precisa de um gerente com Tunnels Read e Manage.
Para um servidor MCP local stdio, o caminho documentado é curto:
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 um servidor MCP HTTP, troque o comando pela URL do servidor:
tunnel-client init \
--sample sample_mcp_stdio_local \
--profile http-mcp \
--tunnel-id tunnel_0123456789abcdef0123456789abcdef \
--mcp-server-url https://mcp.internal.example.com/mcp
Execute tunnel-client doctor --profile <name> --explain antes de começar; isso valida a configuração e nomeia o que está faltando. Mantenha tunnel-client run saudável enquanto você cria o conector, pois a descoberta do conector e cada chamada de ferramenta dependem do daemon em execução. Em seguida, abra as configurações do conector do ChatGPT, crie um conector personalizado, escolha Tunnel sob Conexão e selecione o túnel ou cole seu tunnel_id. O cliente também serve /healthz, /readyz, /metrics, e uma interface de administração somente para loopback em /ui para que você possa confirmar que está saudável e fazendo polling antes de testar.
Onde executar o tunnel-client
Execute o cliente na mesma fronteira de confiança que já alcança o servidor MCP privado. A OpenAI documenta três padrões comuns de implantação.
