Corrigindo crashes de GPU/display no Windows usando MCP Server e IA (#ai #mcp #windows #troubleshoot #nvidia)

Overview
Há algum tempo, os monitores do meu desktop começaram a ficar pretos (como se estivessem desligados). Isso ia e voltava, até o ponto onde os monitores ficavam pretos, eu conseguia ouvir o áudio do computador, mas o vídeo nunca voltava. Foi aí que eu percebi que procrastinar não era mais uma opção.
Antes de entrar nos detalhes do MCP Server, vamos entender o problema e o contexto.
Troubleshooting no Windows
Se você é usuário de Windows, talvez conheça o Event Viewer, uma ferramenta que permite visualizar logs de eventos do sistema, aplicações e de segurança. Esses logs contêm informações sobre eventos do sistema, como erros, avisos e mensagens informativas. Parece simples, né? O problema é que é absolutamente exaustivo vasculhar todos os logs pra encontrar a informação relevante, especialmente se você não sabe exatamente o que está procurando, como era o meu caso. Eu sabia os sintomas, mas não sabia o que estava causando.
Outro problema com o Event Viewer é que alguns logs podem conter informações sensíveis. Isso não era exatamente relevante pro meu problema, mas se eu quisesse colocar uma IA pra me ajudar, precisava levar isso em conta.
IA realmente ajudaria a resolver esse problema?
Os modelos de IA atuais são bons em vasculhar grandes volumes de dados rapidamente e (com sorte) identificar padrões e correlações. Porém, para permitir que a IA fizesse seu trabalho, eu precisaria deixá-la rodar comandos PowerShell para extrair informações, e depois rodar mais scripts para transformar os dados em um formato que ela consiga entender.
Além da questão de segurança, havia outro problema: O volume absurdo de dados nesses logs atrapalharia a IA (enchendo as janelas de contexto bem rápido) e aumentando o uso de tokens a um nível absurdo.
Parece que estou exagerando, mas se você já precisou encontrar algo no Event Viewer, sabe do que estou falando. 😅
Chamando o OS-Doctor!
Com tudo isso em mente, parecia que MCP Servers foram feitos exatamente para esse tipo de caso de uso. Pensei em simplesmente procurar um MCP Server já existente que fizesse isso, porque hoje em dia provavelmente tem um monte pronto pra usar por aí. Porém, eu também estava curioso pra aprender mais sobre ai-tools, como funcionam e o que faz elas rodarem.
E aí, funcionou?
Melhor do que eu esperava! Integrei com o Claude Code, e ele rapidamente conseguiu passar por todos os dados, identificar as possíveis causas dos crashes, sugerir correções e monitorar o sistema enquanto eu testava. No geral, fiquei bem satisfeito com o resultado, especialmente porque consegui corrigir o problema antes que se tornasse algo maior.
Como usar?
Primeiro você precisa informar ao seu agente de IA que ele existe. No meu caso, eu estava usando o Claude Code e
configurei essa ferramenta para ficar disponível globalmente, ou seja, no arquivo c:\Users\<meu usuário>\.claude.json
eu adicionei:
1{
2 "mcpServers": {
3 "os-doctor": {
4 "command": "gsudo",
5 "args": [
6 "C:/path/to/published/McpOsDoctor.exe"
7 ]
8 }
9 }
10}
Depois é só iniciar o agente e perguntar algo como Quais ferramentas de diagnóstico você tem disponíveis?, e ele vai listar
o que o MCP os-doctor tem disponível.
A partir daí, é só fazer perguntas de diagnóstico, e ele vai usar o MCP server. Por exemplo:
- "Por que meu computador está lento?": O Claude vai verificar processos, informações do sistema e logs de eventos
- "Me mostra erros recentes do sistema": consulta o log de eventos por entradas de Erro/Crítico
- "O serviço do Windows Update está rodando?": verifica o status do serviço
- "Meu computador travou recentemente?": inspeciona o histórico de boot por desligamentos inesperados
- "O que está usando toda a minha memória?": lista os processos que mais consomem memória
- "Monitora a temperatura da minha CPU e GPU": inicia o monitoramento de sensores e reporta dados térmicos
Quais ferramentas o os-doctor tem?
| Ferramenta | Descrição |
|---|---|
get_capabilities | Reporta ferramentas disponíveis, plataforma, status de elevação e dicas de parâmetros |
query_system_log | Busca entradas no Windows Event Log por tempo, severidade, fonte e palavras-chave |
list_log_sources | Lista fontes de log disponíveis |
get_service_status | Consulta serviços do Windows por nome, padrão ou status |
list_top_processes | Lista os processos que mais consomem CPU ou memória |
get_system_info | Snapshot de hardware e SO (hostname, CPU, memória, discos, uptime) |
get_boot_history | Eventos de boot, desligamento, crash e sleep/wake com timestamps |
get_gpu_info | Info da GPU NVIDIA: modelo, driver, uso de VRAM, temperatura, utilização, consumo via nvidia-smi |
get_directx_info | Versão do DirectX, adaptadores de vídeo (VRAM, drivers, feature levels) e dispositivos de som via dxdiag |
start_sensor_monitoring | Inicia polling de sensores de hardware em background (temperatura, ventoinha, voltagem, clock, carga, energia) |
stop_sensor_monitoring | Para o monitoramento de sensores; dados coletados continuam disponíveis via get_sensor_data |
get_sensor_data | Recupera resultados do monitoramento com estatísticas min/max/média/atual por sensor |
Nota:
get_gpu_inforequer que onvidia-smiesteja instalado e acessível no PATH do sistema, eget_directx_inforequer que odxdiagesteja instalado e acessível no PATH do sistema.
Como instalar esse MCP Server?
Se você quer algo pronto pra usar, pode baixar o binário pré-compilado na página de releases, colocar em qualquer diretório e configurar seu agente de IA pra usá-lo.
Se preferir compilar do código-fonte, pode clonar o repositório e seguir a partir daí. Foi escrito em C# (.NET10).
Tem planos de suportar outros sistemas operacionais?
Achou o projeto legal, mas você é um dos sortudos que não usa Windows? Bom, eu construí esse MCP Server pensando em compatibilidade cross-platform, então deveria ser bem simples adicionar suporte para Linux e MacOS. Dito isso, não tenho planos concretos de adicionar essa funcionalidade no momento.
Conclusão
No geral, foi um projeto bem divertido de trabalhar, e funcionou muito bem. Mostra que IA pode ser uma ferramenta poderosa e útil se você sabe qual problema está tentando resolver.
Se quiser dar uma olhada no código, pode visitar o repositório no GitHub.
Espero ter ajudado! :)