Files
MCP-Browser/README.md
T

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.
![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