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: mcp-local-files
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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