Skip to main content
Glama

MCP Browser Debugger

README.md6.57 kB
# MCP Browser Debugger Servidor MCP avançado para debugging completo de frontend com análise de DOM, execução de JavaScript, monitoramento de rede e muito mais. **Desenvolvido em TypeScript** com padrões profissionais de código (ESLint + Prettier). ## 🚀 Funcionalidades ### Navegação e Carregamento - **navigate**: Navega para qualquer URL com controle de timeout e condições de espera - **get_page_info**: Obtém informações completas sobre a página atual ### Análise de DOM - **get_dom**: Extrai o HTML completo do DOM - **get_element**: Inspeciona elementos específicos com estilos computados - **query_selector_all**: Busca múltiplos elementos por seletor CSS - **evaluate_xpath**: Avalia expressões XPath ### Código Fonte - **get_page_source**: Extrai todo código fonte incluindo scripts e estilos - **execute_js**: Executa JavaScript arbitrário no contexto da página ### Debugging e Monitoramento - **get_console_logs**: Captura todos os logs do console - **get_network_activity**: Monitora todas as requisições HTTP - **screenshot**: Captura screenshots da página ou elementos específicos ### Interação - **click_element**: Clica em elementos - **type_text**: Digita texto em campos de input ### Inspeção de Dados - **get_local_storage**: Acessa localStorage - **get_cookies**: Lista todos os cookies ## 📦 Instalação ```bash npm install npm run build ``` ## 🛠️ Scripts Disponíveis ```bash npm run dev # Desenvolvimento com ts-node npm run start # Executa código compilado npm run build # Compila TypeScript para JavaScript npm run lint # Verifica código com ESLint npm run lint:fix # Corrige problemas do ESLint automaticamente npm run format # Formata código com Prettier npm run format:check # Verifica formatação sem modificar ``` ## ⚙️ Configuração no Claude Desktop Adicione ao seu arquivo de configuração do MCP client: **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` ```json { "mcpServers": { "browser-debugger": { "command": "node", "args": ["c:\\Users\\Emmanuel\\Desktop\\mcp\\mcp-browser\\dist\\index.js"] } } } ``` **Nota**: Após qualquer alteração no código, execute `npm run build` antes de reiniciar o Claude Desktop. ## 🔧 Uso ### Exemplos de Comandos para o Agent 1. **Debugar uma página web**: ``` "Navegue para https://example.com e me mostre o DOM completo" ``` 2. **Analisar erros de console**: ``` "Navegue para https://meusite.com e me mostre todos os erros do console" ``` 3. **Inspecionar elemento específico**: ``` "Encontre o elemento com classe 'header' e me mostre seus estilos computados" ``` 4. **Executar JavaScript customizado**: ``` "Execute este código: document.querySelectorAll('img').length" ``` 5. **Monitorar requisições de rede**: ``` "Mostre todas as requisições HTTP que falharam (status 4xx ou 5xx)" ``` 6. **Extrair código fonte**: ``` "Me mostre todos os scripts inline e externos da página" ``` 7. **Capturar screenshot**: ``` "Tire um screenshot da página inteira" ``` ## 🛠️ Ferramentas Disponíveis ### 1. navigate Navega para uma URL específica. **Parâmetros**: - `url` (obrigatório): URL completa - `waitUntil`: "load" | "domcontentloaded" | "networkidle0" | "networkidle2" - `timeout`: Timeout em ms ### 2. get_dom Extrai o HTML completo do DOM. **Parâmetros**: - `prettify`: Formatar HTML (padrão: true) ### 3. get_element Inspeciona um elemento específico. **Parâmetros**: - `selector` (obrigatório): Seletor CSS - `includeStyles`: Incluir estilos computados - `includeAttributes`: Incluir atributos ### 4. execute_js Executa JavaScript no contexto da página. **Parâmetros**: - `code` (obrigatório): Código JavaScript - `returnValue`: Retornar valor da execução ### 5. screenshot Captura screenshot. **Parâmetros**: - `selector`: Elemento específico (opcional) - `fullPage`: Página inteira com scroll - `path`: Caminho para salvar ### 6. get_console_logs Recupera logs do console. **Parâmetros**: - `filterType`: "all" | "log" | "error" | "warning" | "info" - `clear`: Limpar logs após recuperação ### 7. get_network_activity Recupera atividade de rede. **Parâmetros**: - `filterType`: "all" | "request" | "response" - `clear`: Limpar histórico ### 8. get_page_source Extrai código fonte completo. **Parâmetros**: - `includeScripts`: Incluir scripts - `includeStyles`: Incluir estilos ### 9. query_selector_all Busca múltiplos elementos. **Parâmetros**: - `selector` (obrigatório): Seletor CSS - `limit`: Limitar resultados (padrão: 100) ### 10. get_page_info Informações gerais da página. ### 11. click_element Clica em um elemento. **Parâmetros**: - `selector` (obrigatório): Seletor CSS - `waitForNavigation`: Aguardar navegação ### 12. type_text Digita texto em input. **Parâmetros**: - `selector` (obrigatório): Seletor CSS - `text` (obrigatório): Texto a digitar - `clearFirst`: Limpar antes de digitar ### 13. get_local_storage Acessa localStorage. ### 14. get_cookies Lista cookies. ### 15. evaluate_xpath Avalia XPath. **Parâmetros**: - `xpath` (obrigatório): Expressão XPath ## 🎯 Casos de Uso ### Debugging de Aplicação React/Vue/Angular ``` 1. Navegar para a aplicação 2. Capturar console logs e erros 3. Inspecionar componentes específicos 4. Executar JavaScript para verificar estado da aplicação 5. Monitorar requisições API ``` ### Análise de Performance ``` 1. Navegar com networkidle0 2. Capturar todas as requisições de rede 3. Analisar tamanho de recursos 4. Verificar tempo de carregamento ``` ### Extração de Dados ``` 1. Navegar para a página 2. Executar query_selector_all para elementos desejados 3. Executar JavaScript customizado para processar dados 4. Extrair informações específicas ``` ### Testes de UI ``` 1. Navegar para a página 2. Interagir com elementos (click, type) 3. Verificar mudanças no DOM 4. Capturar screenshots de evidência ``` ## 🔒 Segurança - Browser executa em modo headless - Sandbox desabilitado apenas para compatibilidade local - Não armazena credenciais - Logs são mantidos em memória e podem ser limpos ## 📝 Notas - O browser é iniciado automaticamente na primeira ferramenta chamada - Uma única instância de página é mantida entre chamadas - Console logs e requisições de rede são acumulados entre navegações (use `clear: true` para limpar) - Screenshots podem ser salvos em disco ou retornados como base64

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/EmmanuelBarbosaMonteiro/mcp-server-browser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server