Servidor de selenio MCP
Una implementación de servidor de Protocolo de contexto de modelo (MCP) para Selenium WebDriver, que permite la automatización del navegador a través de clientes MCP estandarizados.
Características
- Iniciar sesiones de navegador con opciones personalizables
- Navegar a las URL
- Encuentre elementos utilizando diversas estrategias de localización
- Haga clic, escriba e interactúe con los elementos
- Realizar acciones del mouse (pasar el mouse, arrastrar y soltar)
- Manejar la entrada del teclado
- Tomar capturas de pantalla
- Subir archivos
- Soporte para modo sin cabeza
Navegadores compatibles
- Cromo
- Firefox
Usar con Goose
Opción 1: Instalación con un solo clic
Copie y pegue el siguiente enlace en la barra de direcciones de un navegador para agregar esta extensión a Goose Desktop:
Opción 2: Agregar manualmente al escritorio o CLI
- Nombre:
Selenium MCP
- Descripción:
automates browser interactions
- Comando:
npx -y @angiejones/mcp-selenium
Úselo con otros clientes MCP (por ejemplo, Claude Desktop, etc.)
Desarrollo
Para trabajar en este proyecto:
- Clonar el repositorio
- Instalar dependencias:
npm install
- Ejecute el servidor:
npm start
Instalación
Instalación mediante herrería
Para instalar MCP Selenium para Claude Desktop automáticamente a través de Smithery :
Instalación manual
Uso
Inicie el servidor ejecutando:
O úselo con NPX en su configuración MCP:
Herramientas
iniciar_navegador
Inicia una sesión del navegador.
Parámetros:
browser
(obligatorio): Navegador a iniciar- Tipo: cadena
- Enumeración: ["chrome", "firefox"]
options
: Opciones de configuración del navegador- Tipo: objeto
- Propiedades:
headless
: ejecuta el navegador en modo sin cabeza- Tipo: booleano
arguments
: argumentos adicionales del navegador- Tipo: matriz de cadenas
Ejemplo:
navegar por
Navega a una URL.
Parámetros:
url
(obligatorio): URL a la que navegar- Tipo: cadena
Ejemplo:
elemento_buscar
Encuentra un elemento en la página.
Parámetros:
by
(obligatorio): Estrategia de localización- Tipo: cadena
- Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value
(obligatorio): Valor para la estrategia de localización- Tipo: cadena
timeout
: Tiempo máximo de espera del elemento en milisegundos- Tipo: número
- Predeterminado: 10000
Ejemplo:
elemento_clic
Hace clic en un elemento.
Parámetros:
by
(obligatorio): Estrategia de localización- Tipo: cadena
- Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value
(obligatorio): Valor para la estrategia de localización- Tipo: cadena
timeout
: Tiempo máximo de espera del elemento en milisegundos- Tipo: número
- Predeterminado: 10000
Ejemplo:
enviar_claves
Envía claves a un elemento (escritura).
Parámetros:
by
(obligatorio): Estrategia de localización- Tipo: cadena
- Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value
(obligatorio): Valor para la estrategia de localización- Tipo: cadena
text
(obligatorio): Texto a introducir en el elemento- Tipo: cadena
timeout
: Tiempo máximo de espera del elemento en milisegundos- Tipo: número
- Predeterminado: 10000
Ejemplo:
obtener_texto_del_elemento
Obtiene el texto() de un elemento.
Parámetros:
by
(obligatorio): Estrategia de localización- Tipo: cadena
- Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value
(obligatorio): Valor para la estrategia de localización- Tipo: cadena
timeout
: Tiempo máximo de espera del elemento en milisegundos- Tipo: número
- Predeterminado: 10000
Ejemplo:
flotar
Mueve el mouse para colocarlo sobre un elemento.
Parámetros:
by
(obligatorio): Estrategia de localización- Tipo: cadena
- Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value
(obligatorio): Valor para la estrategia de localización- Tipo: cadena
timeout
: Tiempo máximo de espera del elemento en milisegundos- Tipo: número
- Predeterminado: 10000
Ejemplo:
arrastrar y soltar
Arrastra un elemento y lo suelta sobre otro elemento.
Parámetros:
by
(obligatorio): Estrategia de localización para el elemento fuente- Tipo: cadena
- Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value
(obligatorio): Valor para la estrategia de localización de origen- Tipo: cadena
targetBy
(obligatorio): Estrategia de localización para el elemento objetivo- Tipo: cadena
- Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
targetValue
(obligatorio): Valor para la estrategia de localización de objetivos- Tipo: cadena
timeout
: Tiempo máximo de espera de elementos en milisegundos- Tipo: número
- Predeterminado: 10000
Ejemplo:
doble clic
Realiza un doble clic en un elemento.
Parámetros:
by
(obligatorio): Estrategia de localización- Tipo: cadena
- Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value
(obligatorio): Valor para la estrategia de localización- Tipo: cadena
timeout
: Tiempo máximo de espera del elemento en milisegundos- Tipo: número
- Predeterminado: 10000
Ejemplo:
clic derecho
Realiza un clic derecho (clic contextual) en un elemento.
Parámetros:
by
(obligatorio): Estrategia de localización- Tipo: cadena
- Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value
(obligatorio): Valor para la estrategia de localización- Tipo: cadena
timeout
: Tiempo máximo de espera del elemento en milisegundos- Tipo: número
- Predeterminado: 10000
Ejemplo:
presionar_tecla
Simula presionar una tecla del teclado.
Parámetros:
key
(obligatoria): Tecla a presionar (ej., 'Enter', 'Tab', 'a', etc.)- Tipo: cadena
Ejemplo:
subir_archivo
Carga un archivo utilizando un elemento de entrada de archivo.
Parámetros:
by
(obligatorio): Estrategia de localización- Tipo: cadena
- Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value
(obligatorio): Valor para la estrategia de localización- Tipo: cadena
filePath
(obligatorio): Ruta absoluta al archivo a cargar- Tipo: cadena
timeout
: Tiempo máximo de espera del elemento en milisegundos- Tipo: número
- Predeterminado: 10000
Ejemplo:
tomar captura de pantalla
Captura una captura de pantalla de la página actual.
Parámetros:
outputPath
(opcional): Ruta donde se guardará la captura de pantalla. Si no se proporciona, devuelve datos base64.- Tipo: cadena
Ejemplo:
cerrar sesión
Cierra la sesión actual del navegador y limpia los recursos.
Parámetros: No se requiere ninguno
Ejemplo:
Licencia
Instituto Tecnológico de Massachusetts (MIT)
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Permite la automatización del navegador mediante Selenium WebDriver a través de MCP, lo que admite la administración del navegador, la ubicación de elementos y las interacciones del usuario básicas y avanzadas.
- Características
- Navegadores compatibles
- Usar con Goose
- Úselo con otros clientes MCP (por ejemplo, Claude Desktop, etc.)
- Desarrollo
- Herramientas
- Licencia
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityFacilitates browser automation with custom capabilities and agent-based interactions, integrated through the browser-use library.Last updated -1541PythonMIT License
- AsecurityFlicenseAqualityEnables browser automation using Python scripts, offering operations like taking webpage screenshots, retrieving HTML content, and executing JavaScript.Last updated -418Python
- AsecurityAlicenseAqualityEnables browser automation with Puppeteer, supporting navigation, form interactions, and connection to active Chrome instances for comprehensive web page interaction.Last updated -84708TypeScriptMIT License
- -security-license-qualityA tool that enables automated browser control using Pyppeteer within the MCP framework, allowing navigation, screenshot capture, and element interaction with websites.Last updated -PythonApache 2.0