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
Related MCP server: MCP Servers with Pyppeteer
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 MCPDescripción:
automates browser interactionsComando:
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 installEjecute 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 iniciarTipo: cadena
Enumeración: ["chrome", "firefox"]
options: Opciones de configuración del navegadorTipo: objeto
Propiedades:
headless: ejecuta el navegador en modo sin cabezaTipo: booleano
arguments: argumentos adicionales del navegadorTipo: matriz de cadenas
Ejemplo:
navegar por
Navega a una URL.
Parámetros:
url(obligatorio): URL a la que navegarTipo: cadena
Ejemplo:
elemento_buscar
Encuentra un elemento en la página.
Parámetros:
by(obligatorio): Estrategia de localizaciónTipo: cadena
Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value(obligatorio): Valor para la estrategia de localizaciónTipo: cadena
timeout: Tiempo máximo de espera del elemento en milisegundosTipo: número
Predeterminado: 10000
Ejemplo:
elemento_clic
Hace clic en un elemento.
Parámetros:
by(obligatorio): Estrategia de localizaciónTipo: cadena
Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value(obligatorio): Valor para la estrategia de localizaciónTipo: cadena
timeout: Tiempo máximo de espera del elemento en milisegundosTipo: número
Predeterminado: 10000
Ejemplo:
enviar_claves
Envía claves a un elemento (escritura).
Parámetros:
by(obligatorio): Estrategia de localizaciónTipo: cadena
Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value(obligatorio): Valor para la estrategia de localizaciónTipo: cadena
text(obligatorio): Texto a introducir en el elementoTipo: cadena
timeout: Tiempo máximo de espera del elemento en milisegundosTipo: número
Predeterminado: 10000
Ejemplo:
obtener_texto_del_elemento
Obtiene el texto() de un elemento.
Parámetros:
by(obligatorio): Estrategia de localizaciónTipo: cadena
Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value(obligatorio): Valor para la estrategia de localizaciónTipo: cadena
timeout: Tiempo máximo de espera del elemento en milisegundosTipo: número
Predeterminado: 10000
Ejemplo:
flotar
Mueve el mouse para colocarlo sobre un elemento.
Parámetros:
by(obligatorio): Estrategia de localizaciónTipo: cadena
Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value(obligatorio): Valor para la estrategia de localizaciónTipo: cadena
timeout: Tiempo máximo de espera del elemento en milisegundosTipo: 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 fuenteTipo: cadena
Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value(obligatorio): Valor para la estrategia de localización de origenTipo: cadena
targetBy(obligatorio): Estrategia de localización para el elemento objetivoTipo: cadena
Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
targetValue(obligatorio): Valor para la estrategia de localización de objetivosTipo: cadena
timeout: Tiempo máximo de espera de elementos en milisegundosTipo: número
Predeterminado: 10000
Ejemplo:
doble clic
Realiza un doble clic en un elemento.
Parámetros:
by(obligatorio): Estrategia de localizaciónTipo: cadena
Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value(obligatorio): Valor para la estrategia de localizaciónTipo: cadena
timeout: Tiempo máximo de espera del elemento en milisegundosTipo: número
Predeterminado: 10000
Ejemplo:
clic derecho
Realiza un clic derecho (clic contextual) en un elemento.
Parámetros:
by(obligatorio): Estrategia de localizaciónTipo: cadena
Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value(obligatorio): Valor para la estrategia de localizaciónTipo: cadena
timeout: Tiempo máximo de espera del elemento en milisegundosTipo: 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ónTipo: cadena
Enumeración: ["id", "css", "xpath", "nombre", "etiqueta", "clase"]
value(obligatorio): Valor para la estrategia de localizaciónTipo: cadena
filePath(obligatorio): Ruta absoluta al archivo a cargarTipo: cadena
timeout: Tiempo máximo de espera del elemento en milisegundosTipo: 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)