MCP Undetected Chromedriver
Automatize o controle do navegador Chrome enquanto burla a detecção anti-bot usando undetected-chromedriver.
Documentação
MCP-Undetected-Chromedriver
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.
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 especificadabrowser_screenshot: Tirar uma captura de tela da página atualbrowser_click: Clicar em elementos da páginabrowser_iframe_click: Clicar em elementos dentro de um iframebrowser_fill: Preencher conteúdo em campos de entradabrowser_select: Selecionar opções em caixas de seleção suspensasbrowser_hover: Passar o mouse sobre elementosbrowser_evalute: Executar código JavaScriptbrowser_close: Fechar o navegadorbrowser_get_visible_text: Obter texto visível na páginabrowser_get_visible_html: Obter HTML visível na páginabrowser_go_back: Navegar para trás no histórico do navegadorbrowser_go_forward: Navegar para frente no histórico do navegadorbrowser_drag: Arrastar elementosbrowser_press_key: Simular pressionamentos de teclasbrowser_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.