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

          • -
            security
            A
            license
            -
            quality
            A MCP server that provides browser automation tools, allowing users to navigate websites, take screenshots, click elements, fill forms, and execute JavaScript through Playwright.
            Last updated -
            Python
            Apache 2.0
            • Apple
          • -
            security
            A
            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
          • -
            security
            A
            license
            -
            quality
            Windows automation MCP offering * AI Vision (e.g. Click by Description) * Windows UI Automation Tree tools * Chrome Automation via Playwright * Mouse control * Keyboard control * a lot more (>40 tools) Also comes with Python/TypeScript/C# client libs and a Windows Desktop tool to try all the tools.
            Last updated -
            1
            Python
            MIT License
          • A
            security
            A
            license
            A
            quality
            An MCP service that automates Chrome browser control while bypassing anti-bot detection mechanisms, enabling web scraping, testing and automation on sites with sophisticated bot protection.
            Last updated -
            16
            5
            Python
            MIT License
            • Linux
            • Apple

          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