Includes installation instructions and dependency configuration for running the automation server on CentOS/RHEL systems.
Provides installation guidance and dependency management for running the automation server on Debian-based systems.
Provides native Selenium implementation for Firefox browser automation with support for navigation, element interaction, and other web automation capabilities.
Supports Chrome browser automation with advanced detection evasion capabilities, including undetected-chromedriver integration and stealth mode features.
Supports running the automation server on macOS with specific installation instructions using Homebrew.
Implements Selenium WebDriver for browser automation with advanced features including element interaction, mouse/keyboard actions, screenshot capture, and JavaScript execution across supported browsers.
Includes specific installation instructions and dependency management for running the automation server on Ubuntu systems.
Servidor MCP Selenium WebDriver
Un servidor MCP (Model Context Protocol) completo que implementa Selenium WebDriver para automatización de navegadores con capacidades avanzadas de evasión de detección, soporte para múltiples navegadores y funcionalidades completas de interacción web.
Características Principales
🚀 Automatización Completa de Navegadores
- Navegación web: Navegar a URLs, obtener información de páginas
- Interacción con elementos: Buscar, hacer clic, escribir texto, subir archivos
- Acciones de ratón: Hover, drag and drop, clic derecho, doble clic
- Manejo de teclado: Envío de teclas especiales (Enter, Tab, flechas, etc.)
- Capturas de pantalla: Pantalla completa o elementos específicos
- Ejecución de JavaScript: Scripts personalizados en el navegador
🕵️ Evasión de Detección Avanzada
- Undetected Chrome: Integración con undetected-chromedriver
- Randomización: User agents y viewports aleatorios
- Scripts stealth: Ocultación de propiedades de automatización
- Simulación humana: Escritura y scroll con delays realistas
- Gestión de cookies: Control completo de cookies y sesiones
🌐 Soporte Multi-Navegador
- Chrome: Soporte completo con evasión de detección
- Firefox: Implementación nativa de Selenium
- Detección automática: Identificación de navegadores instalados
- Configuraciones específicas: Optimizaciones por navegador
⚙️ Gestión Avanzada de Sesiones
- Múltiples sesiones: Hasta 10 sesiones simultáneas por defecto
- Gestión automática: Limpieza de sesiones expiradas
- Configuraciones flexibles: Presets para diferentes casos de uso
- Proxies: Soporte para HTTP, HTTPS y SOCKS
Instalación
Requisitos Previos
- Python 3.8 o superior
- Chrome y/o Firefox instalados
- Dependencias del sistema para Selenium
Instalación de Dependencias
Dependencias del Sistema
Ubuntu/Debian
CentOS/RHEL
Windows
- Descargar e instalar Chrome desde https://www.google.com/chrome/
- Descargar e instalar Firefox desde https://www.mozilla.org/firefox/
macOS
Configuración
Configuraciones Predefinidas
El servidor incluye tres configuraciones predefinidas:
1. Configuración por Defecto
2. Configuración Stealth (Recomendada para evasión)
3. Configuración de Rendimiento
Configuración de Proxies
Uso Básico
Iniciar el Servidor
Ejemplo de Uso Básico
Herramientas MCP Disponibles
Gestión de Navegadores
Herramienta | Descripción |
---|---|
start_browser | Inicia una nueva sesión de navegador |
close_browser | Cierra una sesión específica |
detect_available_browsers | Detecta navegadores instalados |
get_recommended_browser | Obtiene el navegador recomendado |
check_browser_support | Verifica soporte de WebDriver |
Navegación y Páginas
Herramienta | Descripción |
---|---|
navigate_to_url | Navega a una URL específica |
get_page_info | Obtiene información de la página actual |
execute_script | Ejecuta JavaScript en el navegador |
Interacción con Elementos
Herramienta | Descripción |
---|---|
find_element | Busca elementos con diferentes estrategias |
click_element | Hace clic en un elemento |
type_text | Escribe texto en un elemento |
upload_file | Sube archivos a inputs de tipo file |
Acciones Avanzadas
Herramienta | Descripción |
---|---|
perform_mouse_action | Acciones de ratón (hover, drag & drop) |
send_keys | Envía teclas especiales |
take_screenshot | Captura pantalla completa o elementos |
Evasión de Detección
Herramienta | Descripción |
---|---|
apply_stealth_mode | Aplica todas las técnicas stealth |
randomize_user_agent | Cambia a un user agent aleatorio |
randomize_viewport | Cambia el tamaño de ventana |
simulate_human_typing | Escritura con delays humanos |
scroll_like_human | Scroll gradual simulando humano |
add_random_delay | Agrega delays aleatorios |
Gestión de Sesiones
Herramienta | Descripción |
---|---|
list_active_sessions | Lista todas las sesiones activas |
get_session_info | Información detallada de una sesión |
close_all_sessions | Cierra todas las sesiones |
cleanup_expired_sessions | Limpia sesiones expiradas |
Gestión de Cookies
Herramienta | Descripción |
---|---|
manage_cookies | Gestión completa de cookies |
Configuración del Servidor
Herramienta | Descripción |
---|---|
get_server_status | Estado actual del servidor |
update_server_config | Actualiza configuración con presets |
Ejemplos Avanzados
Automatización con Evasión de Detección
Automatización de Formularios
Scraping con Múltiples Sesiones
Estrategias de Localización de Elementos
El servidor soporta todas las estrategias estándar de Selenium:
Estrategia | Descripción | Ejemplo |
---|---|---|
id | Por atributo ID | "search-button" |
name | Por atributo name | "username" |
class_name | Por clase CSS | "btn-primary" |
tag_name | Por nombre de etiqueta | "button" |
css_selector | Selector CSS | "div.container > p" |
xpath | Expresión XPath | "//div[@class='content']//p" |
link_text | Texto exacto del enlace | "Click here" |
partial_link_text | Texto parcial del enlace | "Click" |
Ejemplos de Selectores
Configuración de Proxies
Tipos de Proxy Soportados
Manejo de Errores
El servidor maneja automáticamente los errores comunes y proporciona mensajes descriptivos:
Errores Comunes y Soluciones
Error | Causa | Solución |
---|---|---|
Sesión no encontrada | ID de sesión inválido | Verificar que la sesión esté activa |
Timeout: Elemento no encontrado | Selector incorrecto o elemento no visible | Revisar selector y aumentar timeout |
WebDriverException | Problema con el driver | Reinstalar webdriver-manager |
ElementNotInteractableException | Elemento no clickeable | Usar scroll o esperar a que sea visible |
Mejores Prácticas
Para Evasión de Detección
- Usar configuración stealth: Siempre aplicar
STEALTH_CONFIG
para sitios que detectan bots - Delays aleatorios: Agregar delays entre acciones para simular comportamiento humano
- Randomización: Cambiar user agents y viewports regularmente
- Gestión de cookies: Mantener cookies de sesión para parecer un usuario real
- Scroll gradual: Usar
scroll_like_human
en lugar de scroll instantáneo
Para Rendimiento
- Modo headless: Usar para operaciones en lote
- Deshabilitar imágenes: Reducir tiempo de carga
- Gestión de sesiones: Cerrar sesiones no utilizadas
- Timeouts apropiados: Configurar timeouts según la velocidad del sitio
Para Estabilidad
- Manejo de errores: Siempre verificar
success
en las respuestas - Limpieza de sesiones: Usar
cleanup_expired_sessions
regularmente - Verificar elementos: Usar
find_element
antes de interactuar - Capturas de pantalla: Tomar capturas para debugging
Limitaciones
- Máximo de sesiones: 10 sesiones simultáneas por defecto (configurable)
- Timeout de sesión: 1 hora por defecto (configurable)
- Navegadores soportados: Chrome y Firefox únicamente
- Detección: Algunos sitios avanzados pueden detectar automatización
Solución de Problemas
Problemas de Instalación
Problemas de Ejecución
Contribución
Para contribuir al proyecto:
- Fork el repositorio
- Crear una rama para la nueva característica
- Implementar cambios con tests
- Enviar pull request
Licencia
Este proyecto está bajo la licencia MIT.
This server cannot be installed
A complete Model Context Protocol server that implements Selenium WebDriver for browser automation with advanced detection evasion capabilities, multi-browser support, and comprehensive web interaction functionalities.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that provides browser automation capabilities using BrowserCat's cloud browser service. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment without needing to install browsers locally.Last updated -202
- AsecurityAlicenseAqualityAI-driven browser automation server that implements the Model Context Protocol to enable natural language control of web browsers for tasks like navigation, form filling, and visual interaction.Last updated -11PythonMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, generate test code, scrape web content, and execute JavaScript in real browser environments.Last updated -3110,475TypeScriptMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that provides browser automation capabilities for creating and testing Autoconsent rules, enabling LLMs to interact with web pages and test consent management platforms in a real browser environment.Last updated -10TypeScript