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.
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
Novedades en 0.3.0
- Nuevas herramientas:
select_optionpara listas desplegables,scroll(incluyendo páginas con desplazamiento infinito y paneles desplazables),historypara retroceder, avanzar y recargar, ywait_for_pagepara esperar una URL o título después de una redirección. - Pruebas responsivas:
windowahora 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_urlywait_until_visiblese eliminaron por ser duplicados. Usenavigate, ywait_for_elementconvisible: 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:
| Capacidad | selenium-mcp | Servidores 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_pagedevuelve 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_executeejecuta 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ía | Herramientas |
|---|---|
| Ciclo de vida del navegador | start_browser, stop_browser, session_create, session_select, session_list, session_destroy |
| Navegación | navigate, history (retroceder/avanzar/recargar), wait_for_page (URL/título), get_current_url, get_title |
| Descubrimiento de elementos | find_element, wait_for_element, capture_page, get_page_source |
| Interacción | click, retry_click, interact (pasar el cursor/doble clic/clic derecho), type, select_option, scroll, press_key, upload_file |
| Lectura | get_text, get_attribute |
| Aserciones | assert_text, assert_visible, assert_attribute |
| Scripting | execute_script, batch_execute |
| Sugerencias de selectores | selector_hint_save, selector_hint_get, selector_hint_list, selector_hint_delete |
| Ventanas y contexto | window (pestañas, ventanas, redimensionar/maximizar), frame, alert |
| Cookies | add_cookie, get_cookies, delete_cookie |
| Captura | take_screenshot |
Documentación completa de parámetros: docs/TOOL_REFERENCE.md
Recursos MCP
browser-status://current— estado en vivo del navegador/sesiónaccessibility://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
- Guía de uso — indicaciones y recetas
- Referencia de herramientas
- Integración de clientes
- Arquitectura
- Guía de desarrollo
- Registro de cambios
- Hoja de ruta
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.