ChatGPT conectado a uma VPS Linux via MCP com controle de acesso, políticas e auditoria

Como conectar o ChatGPT a uma VPS via MCP com controle e auditoria

Trabalhar com uma VPS usando inteligência artificial ainda costuma exigir um ritual pouco eficiente: eu peço uma análise ao ChatGPT, recebo comandos, abro o terminal, executo, copio logs, volto à conversa e reconstruo o contexto. Esse ciclo funciona, mas cria atrito justamente onde a IA deveria ajudar mais: na execução.

Foi a partir desse problema que eu desenvolvi o MCP VPS Agent Gateway, um projeto open source e auto-hospedado para conectar o ChatGPT a uma VPS Linux via MCP com escopo definido pelo proprietário do servidor, autenticação OAuth, autorização aplicada no próprio host e trilha de auditoria.

Resposta curta: o MCP VPS Agent Gateway cria uma ponte entre o ChatGPT Web e uma VPS Linux. O ChatGPT acessa ferramentas MCP por HTTPS, o Gateway opera sem root e um Broker privilegiado reautoriza cada ação conforme a política definida pelo usuário. A autoridade efetiva fica no servidor.

O que é o MCP VPS Agent Gateway?

O MCP VPS Agent Gateway é uma implementação em Go que usa o Model Context Protocol (MCP) para permitir que clientes de IA, como o ChatGPT Web, inspecionem e operem recursos de uma VPS Linux de forma controlada.

O projeto foi desenhado para um cenário específico: eu quero que a IA consiga trabalhar de verdade no servidor, mas quero decidir exatamente quais arquivos, serviços, containers, comandos e capacidades ela poderá usar. Essa decisão fica expressa em política no lado do servidor.

O GitHub hospeda código, documentação, releases e atualização. Depois da instalação, ele não participa do caminho operacional entre o ChatGPT e a VPS.

Que problema esse projeto resolve?

O primeiro gargalo é o mais óbvio: o “copiar e colar operacional” entre uma conversa com IA e o terminal da VPS. O ChatGPT sugere comandos, eu abro o terminal, executo, copio a saída, volto à conversa e reconstruo o contexto. Em tarefas pequenas isso é tolerável. Em investigação de logs, configuração, deploy, Docker, systemd ou manutenção contínua, o atrito se acumula rapidamente.

Existe ainda um segundo limite prático para quem usa agentes de programação como o Codex de forma intensiva. Dependendo do plano, o serviço trabalha com cotas de uso em janelas temporais, inclusive uma janela semanal. Projetos longos ou sessões de alta intensidade podem consumir essa franquia e transformar a disponibilidade do agente em gargalo. O MCP VPS Agent Gateway reduz essa dependência de um único ambiente de execução: o ChatGPT Web passa a poder operar diretamente as ferramentas autorizadas na VPS, sem exigir que toda intervenção no servidor seja feita por uma sessão do Codex.

Uma terceira alternativa comum é usar GitHub Actions como ponte para executar tarefas no servidor. Para CI/CD isso é excelente, mas como interface operacional conversacional introduz o GitHub no meio do caminho. Muitas mudanças passam a exigir editar arquivos, criar commit, fazer push, disparar workflow, aguardar o runner e eventualmente executar novo deploy apenas para verificar ou ajustar algo no host.

Com uma conexão MCP válida, o ChatGPT pode consultar informações do sistema, ler e modificar arquivos autorizados, analisar logs, trabalhar com Docker e Compose, interagir com serviços systemd e executar outras ações permitidas pela política. O GitHub continua cumprindo seu papel de código-fonte, versionamento, releases e CI/CD, mas deixa de ser necessário como relay de runtime para cada operação administrativa.

Isso transforma a conversa em uma interface operacional. Para mim, esse é um exemplo direto de tecnologia aplicada: o valor aparece quando a IA atravessa a última milha entre recomendar uma ação e conseguir executá-la dentro de limites verificáveis.

Como funciona a arquitetura?

A arquitetura separa a superfície MCP da fronteira privilegiada. O Gateway recebe a conexão do cliente, valida autenticação e schemas e encaminha operações para um Broker local. O Broker é quem possui autoridade para revalidar política e executar ações no host.

Arquitetura do MCP VPS Agent Gateway com ChatGPT Web, OAuth, MCP Gateway, Broker com política e VPS Linux
Fluxo do MCP VPS Agent Gateway: ChatGPT Web → OAuth/MCP Gateway → Broker com política → VPS Linux.
ChatGPT Web / cliente MCP
        |
        | HTTPS + MCP Streamable HTTP
        v
Gateway container
sem root, sem /host
        |
        | Unix socket protegido
        v
Broker container
fronteira privilegiada
        |
        | host montado em /host
        v
Linux / systemd / Docker / arquivos

O ponto de projeto que considero mais importante é simples: o modelo de IA não decide a própria autoridade. O Gateway também não é a autoridade final. Cada operação privilegiada é reavaliada pelo Broker contra o sujeito autenticado, a ferramenta solicitada, o recurso, a ação e a política vigente.

Como o acesso à VPS é limitado?

O mesmo pacote pode operar com diferentes perímetros. No perfil Project, recomendado como padrão, o usuário delega uma raiz específica, por exemplo /opt/meu-app. No perfil Custom, pode combinar vários recursos e capacidades. O perfil Whole Host amplia o teto físico do filesystem para /, mas outras capacidades administrativas continuam separadas na política.

Essa separação importa porque “acesso ao filesystem” é apenas uma dimensão. Shell, units do systemd, Docker, rede, pacotes, usuários, grupos, firewall e ações administrativas têm regras próprias. Uma capability existir no software não significa que esteja habilitada naquela instalação.

Quais controles de segurança estão implementados?

  • Gateway executado sem root e sem acesso direto ao host ou ao Docker socket.
  • Broker acessível localmente por Unix socket, sem API TCP privilegiada exposta.
  • Política server-side com negação por padrão e reautorização de operações privilegiadas.
  • Proteções contra path traversal e fuga por symlink no filesystem.
  • Journal de operações, semântica de idempotência e locks com fencing para mutações.
  • OAuth/OIDC integrado para o caminho público suportado.
  • Auditoria das operações, incluindo o fluxo de validação ponta a ponta com o ChatGPT.
  • Segredos fora das ferramentas genéricas apresentadas ao modelo.

O Broker continua sendo um componente privilegiado. Portanto, ele precisa ser tratado como parte sensível da infraestrutura. A proposta do projeto é tornar essa autoridade explícita, limitada por política e auditável.

Como instalar o MCP VPS Agent Gateway?

Durante a fase de release candidate, o fluxo documentado parte do repositório e usa Docker Compose e scripts transparentes:

git clone https://github.com/josemirmoura/mcp-vps-agent-gateway.git
cd mcp-vps-agent-gateway
bash scripts/install.sh

O instalador conduz a escolha de escopo, mostra a autoridade efetiva, sobe os containers, executa verificações locais, configura o acesso público seguro com OAuth integrado, orienta a conexão do ChatGPT e exige uma chamada MCP real e auditada antes de considerar a instalação concluída.

Essa regra foi intencional. Containers “healthy” mostram que serviços subiram. Para este projeto, a validação precisa chegar até o cliente real. O fluxo só fecha quando uma ferramenta inofensiva, como system.info, parte do ChatGPT, atravessa autenticação e política, executa no servidor e aparece na auditoria.

O que o projeto já consegue fazer?

A implementação atual inclui operações de filesystem em escopo, shell e jobs duráveis com sandbox, systemd, Docker e Compose, diagnósticos, pacotes, usuários e grupos, UFW, elevação fora do canal MCP, SQLite controlado pelo Broker, journal de operações, locks e auditoria.

O conjunto de ferramentas é deliberadamente mais amplo do que o que costuma ficar ativo por padrão. A política em config/policy.yaml define o perímetro real de cada instalação.

Qual é o status atual do projeto?

Na data desta publicação, o repositório está em v0.1.0-rc.3. O projeto permanece em pré-release enquanto passa pelo gate final de aceitação do operador antes do congelamento da primeira versão estável.

O fluxo foi validado em Ubuntu 24.04 LTS, com aceitação de runtime em linux/amd64. Imagens para linux/arm64 são construídas, mas a documentação ainda não declara equivalência de aceitação completa em hardware ARM64 nativo. O próprio repositório também deixa claro que confiabilidade prolongada em produção continua sendo uma etapa posterior de maturidade.

Essa distinção é importante. Estou publicando o projeto agora porque a arquitetura, o instalador, os controles e o caminho ChatGPT Web até a VPS já têm evidências de validação. A promessa de estabilidade de produção só deve vir quando houver evidência suficiente para sustentá-la.

Para quem esse projeto pode ser útil?

Vejo aplicação principalmente para desenvolvedores, profissionais de DevOps, pesquisadores, makers, equipes pequenas e usuários que administram serviços próprios em VPS e querem experimentar agentes de IA com capacidade operacional real. Também é um laboratório interessante para estudar desenho de autoridade, segurança de agentes, MCP, automação de infraestrutura e interação entre LLMs e sistemas Linux.

Quem procura apenas uma interface gráfica para SSH provavelmente está resolvendo outro problema. O foco aqui é oferecer ferramentas estruturadas para agentes, com política verificável e trilha operacional.

Perguntas frequentes sobre ChatGPT, VPS e MCP

O que significa MCP?

MCP é a sigla para Model Context Protocol, um protocolo usado para conectar modelos e clientes de IA a ferramentas e fontes de dados externas por uma interface padronizada.

O MCP VPS Agent Gateway substitui SSH?

O projeto não pretende substituir SSH. SSH continua sendo uma ferramenta administrativa fundamental. O Gateway cria uma superfície de ferramentas MCP voltada para clientes de IA, com escopo e autorização próprios.

Preciso fornecer minha senha da VPS ou chave SSH ao ChatGPT?

O fluxo suportado foi projetado para funcionar sem entregar ao ChatGPT a senha da VPS, uma chave SSH privada ou o Docker socket. O acesso ocorre pelo endpoint MCP configurado no servidor e pela política aplicada pelo Broker.

O ChatGPT recebe acesso root?

O Gateway roda sem root. O Broker é o componente privilegiado e aplica a política. A autoridade apresentada ao cliente depende das capacidades e recursos explicitamente delegados pelo operador.

O GitHub precisa ficar online entre o ChatGPT e a VPS?

Não. O GitHub distribui código, documentação e releases. O caminho de runtime ocorre diretamente entre o cliente MCP, o endpoint da instalação e a VPS.

O projeto já está estável para produção?

A versão publicada neste momento é release candidate. Já existem validações automatizadas e testes ponta a ponta, inclusive com chamada real do ChatGPT Web, mas a versão estável e a evidência de confiabilidade prolongada em produção ainda fazem parte das próximas etapas.

Quer testar ou acompanhar o projeto?

O código está aberto sob licença Apache 2.0. Se você trabalha com Linux, DevOps, agentes de IA ou MCP, vale examinar a arquitetura e testar primeiro em um ambiente controlado.

Se o projeto for útil para você, deixe uma star, acompanhe as releases e use as issues para relatar problemas, sugerir melhorias ou compartilhar casos de uso. Essa fase de productização ganha qualidade quando a validação sai do ambiente do autor e encontra outros servidores, workloads e formas reais de uso.

Rolar para cima