MCP Undetected Chromedriver

Automatize o controle do navegador Chrome enquanto burla a detecção anti-bot usando undetected-chromedriver.

Documentação

MCP-Undetected-Chromedriver

smithery badge

Um serviço MCP construído sobre undetected-chromedriver, fornecendo uma interface abrangente para automatizar o controle do navegador Chrome enquanto contorna a detecção anti-bot.

Documentação em chinês

Instalação

Para instalar o MCP-Undetected-Chromedriver para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @dragons96/mcp-undetected-chromedriver --client claude

Configuração para usar o Servidor Undetected Chromedriver

Aqui está a configuração do Claude Desktop para usar o servidor Undetected-chromedriver:

{
  "mcpServers": {
    "mcp-undetected-chromedriver": {
      "command": "npx",
      "args": [
        "-y",
        "@smithery/cli@latest",
        "run",
        "@dragons96/mcp-undetected-chromedriver",
        "--config",
        "{}"
      ]
    }
  }
}

Requisitos

  • Python >= 3.11
  • Navegador Chrome

Instalação com uv

# Create virtual environment
uv venv

# Activate virtual environment
# Windows
.venv\Scripts\activate
# Linux/MacOS
source .venv/bin/activate

# Install dependencies
uv pip install -e .

Introdução ao Projeto

MCP-Undetected-Chromedriver é um serviço MCP (Multi Channel Protocol) que encapsula as funcionalidades da biblioteca undetected-chromedriver em uma série de APIs fáceis de usar. Este projeto é particularmente adequado para cenários que exigem contornar mecanismos modernos de detecção anti-bot de sites em testes automatizados, raspagem de dados ou scripts de automação web.

Principais Recursos

  • Baseado em undetected-chromedriver, contornando efetivamente a detecção anti-bot de sites
  • Fornece interfaces de API ricas para operações do navegador
  • Suporta capturas de tela, exportação de PDF e outras funcionalidades
  • Suporta operações complexas de interação com páginas, como cliques, preenchimento de formulários, arrastar e soltar, etc.
  • Integra-se perfeitamente com outras ferramentas do ecossistema MCP

Lista de Tarefas

  • Otimizar o gerenciamento do driver do navegador e lidar com interrupções do driver
  • Estender as capacidades da API
  • Adicionar tratamento de erros e registro de logs mais abrangentes
  • Melhorar a documentação com mais exemplos de uso
  • Adicionar suporte para perfis e extensões do navegador

Uso

Iniciando o Serviço

mcp-server-undetected-chromedriver

APIs Disponíveis

O serviço fornece as seguintes interfaces de API principais:

  • browser_navigate: Navegar para uma URL especificada
  • browser_screenshot: Tirar uma captura de tela da página atual
  • browser_click: Clicar em elementos da página
  • browser_iframe_click: Clicar em elementos dentro de um iframe
  • browser_fill: Preencher conteúdo em campos de entrada
  • browser_select: Selecionar opções em caixas de seleção suspensas
  • browser_hover: Passar o mouse sobre elementos
  • browser_evalute: Executar código JavaScript
  • browser_close: Fechar o navegador
  • browser_get_visible_text: Obter texto visível na página
  • browser_get_visible_html: Obter HTML visível na página
  • browser_go_back: Navegar para trás no histórico do navegador
  • browser_go_forward: Navegar para frente no histórico do navegador
  • browser_drag: Arrastar elementos
  • browser_press_key: Simular pressionamentos de teclas
  • browser_save_as_pdf: Salvar a página como PDF

Exemplo de Código

from mcp.client import Client

# Create MCP client
client = Client()
client.start("undetected-chromedriver-mcp-server")

# Navigate to website
response = client.call("browser_navigate", {"url": "https://example.com"})
print(response)

# Take a screenshot
response = client.call("browser_screenshot", {"name": "example"})
print(response)

# Get page text
response = client.call("browser_get_visible_text")
print(response.content[0].text)

# Close the browser
client.call("browser_close")

Como Funciona

Este serviço usa a biblioteca undetected-chromedriver para criar uma instância especializada do navegador Chrome que evade efetivamente mecanismos comuns de detecção anti-bot. O serviço encapsula esses recursos através do protocolo MCP, fornecendo uma interface de API fácil de usar que torna os testes automatizados e a raspagem web mais convenientes.

Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Diretrizes de Contribuição

Relatórios de bugs e solicitações de recursos são bem-vindos na página de Issues do GitHub. Se você deseja contribuir com código, por favor, crie uma issue para discutir suas ideias primeiro.

FAQ

P: Por que escolher undetected-chromedriver em vez do selenium webdriver padrão?

R: O undetected-chromedriver é especificamente projetado para contornar mecanismos de detecção anti-bot de sites modernos, como Cloudflare, Distil Networks, etc., tornando-o mais confiável para cenários de raspagem de dados e testes automatizados.

P: Como o serviço gerencia as instâncias do navegador?

R: O serviço mantém uma instância global do navegador, que é criada automaticamente quando uma API que requer navegador é chamada pela primeira vez. O navegador pode ser fechado explicitamente usando a API browser_close.

P: Como lidar com elementos dentro de iframes?

R: A API browser_iframe_click pode operar diretamente em elementos dentro de iframes, sem a necessidade de alternar manualmente os contextos de frame.