Selenium MCP

Servidor Selenium MCP para agentes de IA — 39 herramientas de automatización de navegador con instantáneas de página, sugerencias de selectores, múltiples sesiones y ejecución por lotes.

Documentación

selenium-mcp

Servidor Selenium MCP para agentes de IA — 41 herramientas para automatización de navegadores reales: navegación, clics, escritura, aserciones, capturas de pantalla, gestión de múltiples sesiones, instantáneas de página con referencias estables de elementos, sugerencias persistentes de selectores y ejecución por lotes de múltiples pasos.

npm version npm downloads CI license node

Construido con TypeScript, el SDK oficial de MCP y Selenium WebDriver: validación estricta de entrada con zod, esperas explícitas y respuestas estructuradas diseñadas para agentes LLM.

Instalación con un clic

Install in Cursor Install in VS Code Install in VS Code Insiders

Novedades en 0.3.0

  • Nuevas herramientas: select_option para listas desplegables, scroll (incluyendo páginas con desplazamiento infinito y paneles desplazables), history para retroceder, avanzar y recargar, y wait_for_page para esperar una URL o título después de una redirección.
  • Pruebas responsivas: window ahora puede redimensionar la ventana gráfica a un tamaño exacto, como un teléfono de 390x844, o maximizarla.
  • Mejor elección de herramientas por parte de los agentes de IA: cada herramienta y parámetro ahora explica qué hace, qué devuelve y cuándo usar una herramienta similar en su lugar.
  • Cambio importante: open_url y wait_until_visible se eliminaron por ser duplicados. Use navigate, y wait_for_element con visible: true.
  • Lanzamientos verificados: cada lanzamiento se prueba de extremo a extremo contra un navegador real y se publica con procedencia de npm.

Consulte el registro de cambios para más detalles.

Configuración

Claude Code
claude mcp add selenium -- npx -y @gaforov/selenium-mcp@latest
Claude Desktop / Cursor / Windsurf / otros clientes MCP

Agregue a la configuración MCP de su cliente (por ejemplo, claude_desktop_config.json o .cursor/mcp.json):

{
  "mcpServers": {
    "selenium": {
      "command": "npx",
      "args": ["-y", "@gaforov/selenium-mcp@latest"]
    }
  }
}
VS Code
code --add-mcp '{"name":"selenium","command":"npx","args":["-y","@gaforov/selenium-mcp@latest"]}'
Goose
goose session --with-extension "npx -y @gaforov/selenium-mcp@latest"
IntelliJ IDEA / IDEs JetBrains

Configuración → Herramientas → Asistente de IA → Model Context Protocol → Agregar, con el comando npx y los argumentos -y @gaforov/selenium-mcp@latest. Guía completa en docs/CLIENT_INTEGRATION.md.

Desde el código fuente
git clone https://github.com/gaforov/selenium-mcp.git
cd selenium-mcp
npm install
npm run build

Luego apunte su cliente MCP a node /absolute/path/to/selenium-mcp/dist/server.js.

Ejemplo de uso

Pídale a su agente de IA:

Use selenium-mcp para abrir Chrome, ir a https://example.com,, leer el título de la página, tomar una captura de pantalla y cerrar el navegador.

El agente encadena start_browser → navigate → get_title → take_screenshot → stop_browser por sí solo, sin necesidad de scripting.

Requisitos

  • Node.js 20+
  • Chrome, Firefox o Edge instalados (Selenium Manager aprovisiona el controlador correspondiente automáticamente)

Comparación

La mayoría de los servidores Selenium MCP envuelven los comandos básicos de WebDriver. Este agrega la capa que hace que los agentes sean confiables:

Capacidadselenium-mcpServidores Selenium MCP típicos
Instantánea de página con referencias estables de elementos (capture_page)✅raro
Memoria persistente de selectores por dominio (selector_hint_*)✅❌
Navegación paralela de múltiples sesiones✅raro
Ejecución por lotes de múltiples pasos en una sola llamada✅❌
Aserciones de prueba integradas✅algunos
Trazado de llamadas a herramientas (registro de auditoría NDJSON)✅❌
Validación estricta de entrada + errores estructurados✅varía
Cada herramienta y parámetro descrito para agentes de IA (aplicado por pruebas)✅varía
Pruebas de extremo a extremo contra un navegador real en CI✅algunos

Por qué selenium-mcp

  • Flujos de trabajo basados en instantáneas — capture_page devuelve una instantánea de página con referencias estables de elementos sobre las que el agente puede actuar directamente, sin adivinar selectores frágiles
  • Sugerencias de selectores — persiste localizadores funcionales por dominio para que las automatizaciones repetidas sean más rápidas y confiables con el tiempo
  • Ejecución por lotes — batch_execute ejecuta secuencias restringidas de múltiples pasos en una sola llamada de herramienta, reduciendo los viajes de ida y vuelta
  • Múltiples sesiones — crea, selecciona, lista y destruye sesiones de navegador en paralelo
  • Errores amigables para agentes — cada respuesta está estructurada y validada con zod, para que los agentes puedan recuperarse en lugar de detenerse
  • Trazado opcional — rastro NDJSON de cada llamada de herramienta para depuración y auditoría

Herramientas (41)

CategoríaHerramientas
Ciclo de vida del navegadorstart_browser, stop_browser, session_create, session_select, session_list, session_destroy
Navegaciónnavigate, history (retroceder/avanzar/recargar), wait_for_page (URL/título), get_current_url, get_title
Descubrimiento de elementosfind_element, wait_for_element, capture_page, get_page_source
Interacciónclick, retry_click, interact (pasar el cursor/doble clic/clic derecho), type, select_option, scroll, press_key, upload_file
Lecturaget_text, get_attribute
Asercionesassert_text, assert_visible, assert_attribute
Scriptingexecute_script, batch_execute
Sugerencias de selectoresselector_hint_save, selector_hint_get, selector_hint_list, selector_hint_delete
Ventanas y contextowindow (pestañas, ventanas, redimensionar/maximizar), frame, alert
Cookiesadd_cookie, get_cookies, delete_cookie
Capturatake_screenshot

Documentación completa de parámetros: docs/TOOL_REFERENCE.md

Recursos MCP

  • browser-status://current — estado en vivo del navegador/sesión
  • accessibility://current — instantánea de accesibilidad de la página actual

Trazado opcional

Habilite el trazado NDJSON ligero de todas las llamadas a herramientas:

SELENIUM_MCP_TRACE=true
SELENIUM_MCP_TRACE_PATH=./logs/selenium-mcp-trace.ndjson

Si se omite SELENIUM_MCP_TRACE_PATH, el valor predeterminado es logs/selenium-mcp-trace.ndjson.

Documentación

Contribuciones

Las contribuciones son bienvenidas: informes de errores, solicitudes de funciones y solicitudes de extracción. Consulte CONTRIBUTING.md para comenzar.

npm run typecheck
npm run build
npm test

Licencia

MIT. Consulte LICENSE.