Skip to main content
Glama

MCP Selenium

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
  • 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:

goose://extension?cmd=npx&arg=-y&arg=%40angiejones%2Fmcp-selenium&id=selenium-mcp&name=Selenium%20MCP&description=automates%20browser%20interactions

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.)

{ "mcpServers": { "selenium": { "command": "npx", "args": ["-y", "@angiejones/mcp-selenium"] } } }

Desarrollo

Para trabajar en este proyecto:

  1. Clonar el repositorio
  2. Instalar dependencias: npm install
  3. 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 :

npx -y @smithery/cli install @angiejones/mcp-selenium --client claude
Instalación manual
npm install -g @angiejones/mcp-selenium

Uso

Inicie el servidor ejecutando:

mcp-selenium

O úselo con NPX en su configuración MCP:

{ "mcpServers": { "selenium": { "command": "npx", "args": [ "-y", "@angiejones/mcp-selenium" ] } } }

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:

{ "tool": "start_browser", "parameters": { "browser": "chrome", "options": { "headless": true, "arguments": ["--no-sandbox"] } } }

Navega a una URL.

Parámetros:

  • url (obligatorio): URL a la que navegar
    • Tipo: cadena

Ejemplo:

{ "tool": "navigate", "parameters": { "url": "https://www.example.com" } }

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:

{ "tool": "find_element", "parameters": { "by": "id", "value": "search-input", "timeout": 5000 } }

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:

{ "tool": "click_element", "parameters": { "by": "css", "value": ".submit-button" } }

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:

{ "tool": "send_keys", "parameters": { "by": "name", "value": "username", "text": "testuser" } }

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:

{ "tool": "get_element_text", "parameters": { "by": "css", "value": ".message" } }

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:

{ "tool": "hover", "parameters": { "by": "css", "value": ".dropdown-menu" } }

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:

{ "tool": "drag_and_drop", "parameters": { "by": "id", "value": "draggable", "targetBy": "id", "targetValue": "droppable" } }

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:

{ "tool": "double_click", "parameters": { "by": "css", "value": ".editable-text" } }

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:

{ "tool": "right_click", "parameters": { "by": "css", "value": ".context-menu-trigger" } }

presionar_tecla

Simula presionar una tecla del teclado.

Parámetros:

  • key (obligatoria): Tecla a presionar (ej., 'Enter', 'Tab', 'a', etc.)
    • Tipo: cadena

Ejemplo:

{ "tool": "press_key", "parameters": { "key": "Enter" } }

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:

{ "tool": "upload_file", "parameters": { "by": "id", "value": "file-input", "filePath": "/path/to/file.pdf" } }

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:

{ "tool": "take_screenshot", "parameters": { "outputPath": "/path/to/screenshot.png" } }

cerrar sesión

Cierra la sesión actual del navegador y limpia los recursos.

Parámetros: No se requiere ninguno

Ejemplo:

{ "tool": "close_session", "parameters": {} }

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Características
    1. Navegadores compatibles
      1. Usar con Goose
        1. Opción 1: Instalación con un solo clic
        2. Opción 2: Agregar manualmente al escritorio o CLI
      2. Úselo con otros clientes MCP (por ejemplo, Claude Desktop, etc.)
        1. Desarrollo
          1. Instalación
          2. Uso
        2. Herramientas
          1. iniciar\_navegador
          2. navegar por
          3. elemento\_buscar
          4. elemento\_clic
          5. enviar\_claves
          6. obtener\_texto\_del\_elemento
          7. flotar
          8. arrastrar y soltar
          9. doble clic
          10. clic derecho
          11. presionar\_tecla
          12. subir\_archivo
          13. tomar captura de pantalla
          14. cerrar sesión
        3. Licencia

          Related MCP Servers

          • A
            security
            A
            license
            A
            quality
            Facilitates browser automation with custom capabilities and agent-based interactions, integrated through the browser-use library.
            Last updated -
            1
            541
            Python
            MIT License
            • Apple
          • A
            security
            F
            license
            A
            quality
            Enables browser automation using Python scripts, offering operations like taking webpage screenshots, retrieving HTML content, and executing JavaScript.
            Last updated -
            4
            18
            Python
            • Linux
          • A
            security
            A
            license
            A
            quality
            Enables browser automation with Puppeteer, supporting navigation, form interactions, and connection to active Chrome instances for comprehensive web page interaction.
            Last updated -
            8
            470
            8
            TypeScript
            MIT License
            • Apple
            • Linux
          • -
            security
            -
            license
            -
            quality
            A tool that enables automated browser control using Pyppeteer within the MCP framework, allowing navigation, screenshot capture, and element interaction with websites.
            Last updated -
            Python
            Apache 2.0

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/angiejones/mcp-selenium'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server