MCP ChatGPT Full PC Dev
Allows ChatGPT (via OpenAI's MCP Tunnel) to perform file system operations, execute PowerShell commands, and take screenshots on a Windows PC.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP ChatGPT Full PC Devlist files in my Downloads folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP ChatGPT Full PC Dev
MVP de servidor MCP local para permitir que o ChatGPT use um computador Windows por meio do OpenAI Secure MCP Tunnel.
Este projeto nasceu para funcionar como um "PC Controller" simples: o ChatGPT descobre ferramentas MCP, chama essas ferramentas pelo tunnel e o servidor local executa ações no PC autorizado.
Status atual
Validado em Windows com OpenAI Tunnel.
Fluxo comprovado:
ChatGPT
→ Custom Connector / App em modo desenvolvedor
→ OpenAI Secure MCP Tunnel
→ tunnel-client.exe rodando no PC
→ servidor MCP local em Node.js via stdio
→ ferramentas como list_directory, read_file e psTeste real validado: o ChatGPT conseguiu listar a pasta do projeto usando a ferramenta list_directory.
Related MCP server: PowerShell MCP Server
Ferramentas disponíveis
ps: executa comando PowerShell.start_ps: inicia comando PowerShell longo em segundo plano.read_process: lê stdout/stderr de processo iniciado porstart_ps.stop_process: encerra processo iniciado porstart_ps.list_processes: lista processos criados porstart_ps.list_directory: lista arquivos e pastas.get_file_info: mostra metadados de arquivo ou pasta.create_directory: cria pasta recursivamente.read_file: lê arquivo de texto.write_file: cria ou sobrescreve arquivo de texto.append_file: adiciona texto ao final de arquivo.delete_path: remove arquivo ou pasta, recusando raiz de unidade.move_path: move ou renomeia arquivo ou pasta.search_names: busca arquivos/pastas por nome.screenshot_url: abre URL em Edge headless, com fallback Chromium, e retorna screenshot.
Estrutura principal
MCP ChatGPT
├─ config/settings.json
├─ src/app.mjs
├─ src/core
├─ src/tools
├─ install-deps.cmd
├─ doctor.cmd
├─ run-mcp.cmd
├─ tunnel-init.cmd
├─ tunnel-doctor.cmd
├─ tunnel-run.cmd
├─ tunnel-client.exe
├─ README.md
└─ TUNNEL_SETUP.mdRequisitos em uma nova máquina
Windows.
Node.js LTS instalado.
Conta OpenAI com acesso a Tunnels e Custom Connectors / Apps em modo desenvolvedor.
Um tunnel criado na OpenAI Platform.
Uma Runtime API Key / API Key de projeto válida.
tunnel-client.exebaixado do release oficial doopenai/tunnel-client.
Instalação a partir de ZIP em outro computador
1. Descompactar o projeto
Recomendado descompactar em:
C:\Users\SEU_USUARIO\Documents\MCP ChatGPTO nome da pasta pode ter espaço, mas isso exige cuidado na configuração do tunnel. Este README já documenta o workaround que funcionou.
2. Instalar dependências
Abra CMD na pasta do projeto:
cd /d "C:\Users\SEU_USUARIO\Documents\MCP ChatGPT"
install-deps.cmdEsse script roda:
npm install
npx playwright install chromium3. Validar o servidor local
doctor.cmdResultado esperado: JSON com ok: true e a lista de ferramentas.
4. Baixar o tunnel-client
Na página de releases do projeto openai/tunnel-client, baixe o binário compatível com Windows.
Opção recomendada:
windows-amd64.zipSe baixar o pacote all, o executável costuma ficar em:
bin\windows_amd64\tunnel-client.exeCopie o executável para a raiz do projeto:
C:\Users\SEU_USUARIO\Documents\MCP ChatGPT\tunnel-client.exe5. Criar um tunnel na OpenAI Platform
Acesse:
https://platform.openai.com/settings/organization/tunnelsCrie um tunnel e copie o ID, por exemplo:
tunnel_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6. Gerar o profile local do tunnel
Rode:
tunnel-init.cmdInforme o tunnel_id quando solicitado.
Esse script gera o arquivo:
%APPDATA%\tunnel-client\mcp-chatgpt-full-pc-dev.yamlO profile aponta para o servidor MCP local usando caminhos curtos do Windows e barras /, evitando bugs de escape em YAML/comando.
Formato esperado do comando no YAML:
mcp:
commands:
- channel: main
command: "C:/PROGRA~1/nodejs/node.exe C:/Users/User/DOCUME~1/MCPCHA~1/src/app.mjs"Atenção: o caminho exato muda conforme usuário, idioma do Windows e local da pasta.
7. Obter Runtime API Key
Acesse:
https://platform.openai.com/settings/organization/api-keysCrie ou use uma API key ativa. No terminal ela será usada como variável de ambiente CONTROL_PLANE_API_KEY.
Não cole essa chave em chat, README, print público ou commit.
8. Validar o tunnel
Rode:
tunnel-doctor.cmdCole a API key quando o terminal pedir.
Resultado esperado:
RESULT ok
NEXT tunnel-client run --profile mcp-chatgpt-full-pc-devAlguns SKIP são normais para MCP via stdio:
mcp_server_reachable SKIP
oauth_metadata SKIP
codex_plugin SKIP9. Rodar o tunnel
Rode:
tunnel-run.cmdCole a API key quando pedir.
A janela precisa ficar aberta enquanto o ChatGPT usa o conector.
Resultado esperado no log:
🟢 tunnel-client started10. Criar o app/conector no ChatGPT
No ChatGPT Web:
Settings
→ Aplicativos / Connectors
→ Criar aplicativo / Custom connector
→ Conexão: Túnel
→ Informar o tunnel_id
→ Sem autenticação
→ Marcar ciência do risco
→ CriarSe tudo estiver certo, o ChatGPT vai fazer scan das ferramentas e exibir as actions.
Teste inicial pelo ChatGPT
Com tunnel-run.cmd aberto, peça no chat:
Use o PC Controller para listar a pasta C:\Users\SEU_USUARIO\Documents\MCP ChatGPT.Ou:
Use o PC Controller e leia o arquivo C:\Users\SEU_USUARIO\Documents\MCP ChatGPT\checklist.txt.Se a resposta listar arquivos da máquina, o tunnel está funcional.
Pegadinha crítica que quebrou o MVP
No Windows, comandos com \ dentro do YAML causaram problema no tunnel-client.
O log ruim mostrava algo parecido com:
fork/exec C:PROGRA~1nodejsnode.exe: The system cannot find the file specifiedOu seja, o tunnel-client removeu as barras invertidas.
A solução validada foi:
Usar caminho curto 8.3 do Windows.
Trocar
\por/.Chamar
node.exedireto, semcmd.exe /ce sem.cmdno campocommand.
Comando final funcional neste PC:
command: "C:/PROGRA~1/nodejs/node.exe C:/Users/User/DOCUME~1/MCPCHA~1/src/app.mjs"Para descobrir caminhos curtos manualmente:
for %I in ("C:\Program Files\nodejs\node.exe") do @echo %~sI
for %I in ("C:\Users\SEU_USUARIO\Documents\MCP ChatGPT\src\app.mjs") do @echo %~sIDepois substitua \ por / no YAML.
Segurança
Este MVP pode ser poderoso demais se deixado totalmente aberto.
Arquivo de configuração do servidor MCP:
config/settings.jsonCampo importante:
"allowedRoots": []Quando allowedRoots está vazio, o MCP não limita pastas por conta própria.
Recomendação para uso real:
"allowedRoots": [
"C:\\Users\\SEU_USUARIO\\Documents",
"C:\\Users\\SEU_USUARIO\\Desktop",
"C:\\Users\\SEU_USUARIO\\Downloads"
]Também é prudente manter securityMode como:
"securityMode": "denylist"Scripts do projeto
install-deps.cmd
Instala dependências Node e navegador Chromium do Playwright.
doctor.cmd
Valida o servidor MCP local sem tunnel.
run-mcp.cmd
Sobe o servidor MCP local via stdio. Normalmente não é chamado direto pelo usuário final.
tunnel-init.cmd
Gera o profile YAML do tunnel em %APPDATA%\tunnel-client.
tunnel-doctor.cmd
Valida o profile do tunnel usando a API key informada no terminal.
tunnel-run.cmd
Sobe o tunnel-client e mantém a ponte ativa para o ChatGPT.
Troubleshooting
Erro: write |1: file already closed
Significa que o ChatGPT tentou inicializar o MCP, mas o processo local já tinha fechado.
Causas comuns:
Caminho do comando MCP quebrado.
Aspas mal interpretadas.
Barra invertida removida pelo YAML/comando.
Node.js não encontrado.
src/app.mjsnão encontrado.
Verifique o YAML:
%APPDATA%\tunnel-client\mcp-chatgpt-full-pc-dev.yamlErro: fork/exec C:PROGRA~1nodejsnode.exe
O comando está usando \ e o tunnel-client removeu as barras.
Corrija para /:
command: "C:/PROGRA~1/nodejs/node.exe C:/Users/User/DOCUME~1/MCPCHA~1/src/app.mjs"Conector criado, mas nenhuma ferramenta aparece
Confira se tunnel-run.cmd está aberto e se o log mostra:
🟢 tunnel-client startedDepois confira se o app local responde:
doctor.cmdPorta 8080 em uso
O profile usa:
health:
listen_addr: "127.0.0.1:8080"Se a porta estiver ocupada, troque para outra porta livre ou encerre o processo antigo do tunnel.
API key
A key é usada apenas no terminal como CONTROL_PLANE_API_KEY.
Não grave a key no YAML, no README ou no Git.
Publicação / ZIP do MVP
Antes de zipar para outra máquina, recomenda-se não incluir:
node_modules
logs
screenshots temporários
chaves de APIO destinatário deve rodar:
install-deps.cmd
tunnel-init.cmd
tunnel-doctor.cmd
tunnel-run.cmdChecklist rápido em outra máquina
1. Instalar Node.js LTS.
2. Descompactar o projeto.
3. Copiar tunnel-client.exe para a raiz.
4. Rodar install-deps.cmd.
5. Criar tunnel na OpenAI Platform.
6. Rodar tunnel-init.cmd e informar tunnel_id.
7. Rodar tunnel-doctor.cmd e informar API key.
8. Rodar tunnel-run.cmd e deixar aberto.
9. Criar Custom Connector no ChatGPT usando Tunnel.
10. Testar list_directory/read_file.Estado validado neste PC
Profile:
mcp-chatgpt-full-pc-dev.Tunnel ID:
tunnel_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.Connector/App:
PC Controller.Status: conectado em modo desenvolvedor.
Ferramentas descobertas pelo ChatGPT: sim.
Teste real:
list_directoryfuncionou.
Dependências e pré-requisitos detalhados
Dependências externas obrigatórias
Estas dependências precisam existir na máquina antes do MVP funcionar:
Windows.
Node.js LTS, incluindo
nodeenpmno PATH.OpenAI
tunnel-client.execompatível com Windows.Conta/OpenAI workspace com acesso a Tunnels e Custom Connectors / Apps em modo desenvolvedor.
Tunnel criado na OpenAI Platform.
API key ativa para ser usada como
CONTROL_PLANE_API_KEY.
Dependências Node do projeto
Declaradas em package.json:
"dependencies": {
"@modelcontextprotocol/sdk": "latest",
"playwright": "latest",
"zod": "^3.25.76"
}Descrição rápida:
@modelcontextprotocol/sdk: SDK usado para criar o servidor MCP e expor as ferramentas.zod: valida os schemas de entrada das tools MCP.playwright: usado pela ferramentascreenshot_urlpara abrir páginas em navegador headless.
Dependência de navegador headless
Além do pacote playwright, o projeto precisa instalar o navegador Chromium usado como fallback:
npx playwright install chromiumO script install-deps.cmd já executa isso.
O que o install-deps.cmd instala
npm install
npx playwright install chromiumOu seja, ele instala:
node_modulescom@modelcontextprotocol/sdk,playwrightezod.navegador Chromium do Playwright.
O que o ZIP não precisa levar
Para distribuir o MVP em ZIP, normalmente não é necessário incluir:
node_modules
package-lock.json, se quiser reinstalação limpa
logs
screenshots temporários
chaves de APIAo abrir em outra máquina, rode install-deps.cmd para reconstruir as dependências.
Verificação rápida das dependências
node -v
npm -v
npm list @modelcontextprotocol/sdk playwright zodE para validar sintaxe do servidor:
npm run checkMaintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tgzx/MCP-ChatGPT'
If you have feedback or need assistance with the MCP directory API, please join our Discord server