Pular para o conteúdo principal
Versão: 0.9.2

MCP remoto para ChatGPT e Claude

Validado com a documentação oficial dos produtos em 2026-09-03. A interface dos produtos, a disponibilidade por plano e a política administrativa podem mudar; verifique novamente as páginas oficiais vinculadas antes de um rollout organizacional.

O IVOAI expõe um endpoint MCP remoto e unificado de Streamable HTTP em:

https://ai.example.com/mcp

O endpoint é compatível com a inicialização MCP, descoberta de ferramentas, respostas JSON ou SSE e autorização OAuth 2.1 com PKCE. Não coloque tokens na URL. Crie no servidor um código de ativação limitado e de uso único:

sudo ivoai server web-access create --ttl 10m

ChatGPT Web​

Atualmente, a OpenAI documenta apps MCP completos e o modo de desenvolvedor para workspaces Business e Enterprise/Edu; o Pro pode conectar MCPs de leitura/busca no modo de desenvolvedor. Um administrador habilita o modo de desenvolvedor; depois, um usuário autorizado acessa Settings → Apps → Create, informa o endpoint MCP HTTPS e a autenticação, seleciona Scan Tools, conclui o OAuth e cria o app em draft. Quando a página de autorização do IVOAI abrir, revise os escopos solicitados e informe nela o código de ativação único. Selecione o app no menu de ferramentas do chat para a mensagem que precisar dele. Administradores/proprietários publicam apps revisados para um workspace.

O ChatGPT se conecta a servidores MCP remotos. Para um servidor privado/on-prem que não deva ser exposto publicamente, use o Secure MCP Tunnel compatível da OpenAI em vez de um bypass público improvisado. Consulte o guia oficial da OpenAI sobre modo de desenvolvedor e apps MCP.

Para revogar o acesso, desconecte/remova o app no ChatGPT e revogue o grant correspondente do IVOAI:

sudo ivoai server web-access list
sudo ivoai server web-access revoke <id>

Claude Web​

Atualmente, a Anthropic documenta connectors MCP remotos personalizados para Free, Pro, Max, Team e Enterprise; o Free é limitado a um. Em Team/Enterprise, um Owner ou Primary Owner adiciona a URL remota em Organization settings → Connectors → Add → Custom → Web. Depois, os membros acessam Customize → Connectors e selecionam Connect. Em um plano individual, use Customize → Connectors → + → Add custom connector. Conclua o OAuth revisando os escopos solicitados e informando o código de ativação único do IVOAI; depois habilite ou desabilite o connector por conversa no menu +.

O tráfego do connector remoto parte da nuvem da Anthropic. Portanto, o endpoint deve estar acessível a partir dos intervalos de rede documentados, ou o firewall deve permitir os intervalos de IP atuais da Anthropic. Consulte o guia oficial da Anthropic para connectors personalizados.

Remova o connector em Customize → Connectors e revogue o grant do IVOAI. Não configure um bearer estático compartilhado nem uma chave de API de provider.

Nginx Proxy Manager​

O reverse proxy externo termina o TLS e encaminha o endpoint público /mcp ao gateway do IVOAI conforme descrito em Servidor. O site de documentação é um listener HTTP separado:

Public docs host: docs.example.com
Forward scheme: http
Forward host: IVOAI_SERVER_LAN_IP
Forward port: 7780
WebSockets: off
TLS: terminated by Nginx Proxy Manager

Quando possível, restrinja a porta de documentação no firewall à rede/IP do proxy.

Conformidade e solução de problemas​

Requisições POST do MCP usam Content-Type: application/json e aceitam tanto application/json quanto text/event-stream. O IVOAI interpreta media ranges, espaços em branco, q-values e parâmetros válidos de content-type em vez de comparar strings literais. Um HTTP 406 significa que o peer rejeitou a negociação de conteúdo; confirme exatamente o endpoint /mcp, a versão atual do cliente, o encaminhamento de headers pelo reverse proxy e os dois valores de Accept. Nunca inclua valores de Authorization nos diagnósticos.

Execute sudo ivoai server doctor e uma varredura segura e somente leitura das ferramentas. Os gates esperados são inicialização bem-sucedida, sucesso em tools/list e uma chamada segura a context_health ou memory_status. Um 401 significa que a autenticação está ausente. A negação de escopo em /mcp é retornada como um erro padrão de ferramenta MCP; a API do cliente inscrito usa HTTP 403 para uma credencial autenticada com escopo insuficiente. Um 406 significa que a negociação do transporte é incompatível.