199 lines
4.7 KiB
Markdown
199 lines
4.7 KiB
Markdown
# 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.
|
|
|
|

|
|

|
|

|
|

|
|
|
|
## 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
|