# MCP-Browser v3.0.0 MCP server para automação de navegador de alta qualidade usando [Playwright](https://playwright.dev/) com **42 tools** para automação avançada. ![Node](https://img.shields.io/badge/Node.js-18+-339933?logo=node.js&logoColor=white) ![MCP](https://img.shields.io/badge/MCP-stdio-blue) ![Platform](https://img.shields.io/badge/Windows%20|%20Linux%20|%20macOS-lightgrey) ![Tools](https://img.shields.io/badge/42%20tools-green) ## Novidades v3.0 - **Stealth Mode** - Anti-detecção avançada - **25 novas tools** - Muito mais poder - **Multi-Tab real** - Gerenciamento completo - **PDF generation** - Geração de PDFs - **Network Monitoring** - Logs de rede - **Device Emulation** - iPhone, Pixel, etc - **Performance Metrics** - Métricas detalhadas ## Instalação ```bash npm install npx playwright install chromium ``` ## Configuração ```bash node server.js ``` ## Tools Disponíveis (42) ### Navegação | Tool | Descrição | |------|-----------| | `open_url` | Abre URL | | `new_tab` | Nova aba | | `switch_tab` | Troca aba | | `list_tabs` | Lista abas | | `close_tab` | Fecha aba | | `go_back` | Voltar | | `go_forward` | Avançar | | `reload` | Recarregar | | `wait_for_url` | Espera URL | ### Interação | Tool | Descrição | |------|-----------| | `click` | Clica (suporta duplo, right-click) | | `smart_click` | Clica por texto | | `type` | Digita (suporta lentamente) | | `smart_type` | Digita por label | | `hover` | Faz hover | | `select` | Seleciona opção | | `press_key` | Pressiona tecla | | `scroll_to` | Rola página | | `upload_file` | Upload de arquivo | ### Extração | Tool | Descrição | |------|-----------| | `get_text` | Extrai texto | | `get_html` | Extrai HTML | | `get_links` | Lista links | | `get_buttons` | Lista botões | | `get_forms` | Lista formulários | | `extract_elements` | Extrai elementos | | `get_url` | URL atual | | `get_title` | Título da página | | `evaluate_js` | Executa JavaScript | ### Screens & PDF | Tool | Descrição | |------|-----------| | `screenshot` | Screenshot (full/elemento) | | `pdf` | Gera PDF | ### Viewport & Device | Tool | Descrição | |------|-----------| | `set_viewport` | Define viewport | | `emulate_device` | Emula dispositivo | ### Cookies & Storage | Tool | Descrição | |------|-----------| | `get_cookies` | Obtém cookies | | `set_cookies` | Define cookies | | `clear_cookies` | Limpa cookies | | `get_storage` | Obtém storage | | `set_storage` | Define storage | | `clear_storage` | Limpa storage | ### Network | Tool | Descrição | |------|-----------| | `get_network_logs` | Logs de rede | | `block_resources` | Bloqueia recursos | ### Performance | Tool | Descrição | |------|-----------| | `get_performance_metrics` | Métricas | ### Wait | Tool | Descrição | |------|-----------| | `wait` | Aguarda ms | | `wait_for_selector` | Espera elemento | ### Automação | Tool | Descrição | |------|-----------| | `fill_form_auto` | Preenche formulário | | `agent_flow` | Fluxo automático | | `agent_flow_v2` | Fluxo com retry | ### Controle | Tool | Descrição | |------|-----------| | `close_browser` | Fecha navegador | ## Exemplo de Uso ```javascript // Abrir site open_url("https://example.com") // Login automático fill_form_auto({"email": "user@test.com", "password": "123"}) smart_click("Entrar") wait_for_url("**dashboard**") // Extrair dados get_links() get_text(".product-title") // Screenshot screenshot({fullPage: true}) // Emular mobile emulate_device("iphone-14") ``` ## Dispositivos Disponíveis - iphone-se, iphone-14, iphone-14-pro-max - ipad, ipad-pro - pixel-5, galaxy-s20, galaxy-s23-ultra - desktop-1080p, desktop-4k ## Estrutura ``` MCP-Browser/ ├── server.js # Servidor MCP ├── browser.js # Engine Playwright ├── package.json └── tools/ # 42 tools ├── openUrl.js ├── click.js ├── getURL.js ├── getTitle.js ├── getHTML.js ├── goBack.js ├── goForward.js ├── reload.js ├── evaluateJS.js ├── waitForURL.js ├── newTab.js ├── switchTab.js ├── listTabs.js ├── closeTab.js ├── setViewport.js ├── emulateDevice.js ├── hover.js ├── select.js ├── pressKey.js ├── scrollTo.js ├── pdf.js ├── getCookies.js ├── setCookies.js ├── clearCookies.js ├── getStorage.js ├── setStorage.js ├── clearStorage.js ├── getNetworkLogs.js ├── blockResources.js ├── uploadFile.js ├── getPerformanceMetrics.js └── wait.js ``` ## Licença MIT