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
Related MCP server: Browser MCP
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:
goose://extension?cmd=npx&arg=-y&arg=%40angiejones%2Fmcp-selenium&id=selenium-mcp&name=Selenium%20MCP&description=automates%20browser%20interactionsOpció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.)
{
"mcpServers": {
"selenium": {
"command": "npx",
"args": ["-y", "@angiejones/mcp-selenium"]
}
}
}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 :
npx -y @smithery/cli install @angiejones/mcp-selenium --client claudeInstalación manual
npm install -g @angiejones/mcp-seleniumUso
Inicie el servidor ejecutando:
mcp-seleniumO ú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 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:
{
"tool": "start_browser",
"parameters": {
"browser": "chrome",
"options": {
"headless": true,
"arguments": ["--no-sandbox"]
}
}
}navegar por
Navega a una URL.
Parámetros:
url(obligatorio): URL a la que navegarTipo: 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ó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:
{
"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ó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:
{
"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ó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:
{
"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ó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:
{
"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ó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:
{
"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 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:
{
"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ó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:
{
"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ó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:
{
"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ó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:
{
"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)
This server cannot be deployed
Maintenance
Related MCP Connectors
Browserless MCP — wraps the Browserless headless-Chromium REST API (browserless.io)
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
Web scraping, browser automation, screenshots and AI data extraction for AI agents via MCP.
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Related MCP Servers
- FlicenseCqualityDmaintenanceEnables browser automation, including navigation, form filling, login with CAPTCHA handling, and element manipulation, using a Chrome-based MCP server.364-
- FlicenseNot gradedqualityDmaintenanceEnables MCP clients to control a real local browser window for web automation tasks such as clicking, typing, scrolling, and taking screenshots.11 npm-
- AlicenseAqualityDmaintenanceProvides browser automation using Selenium WebDriver, enabling web navigation, element interaction, screenshots, and JavaScript execution via MCP.10ISC
- AlicenseAqualityCmaintenanceEnables AI agents and MCP clients to automate web browsers via Selenium WebDriver, supporting Chrome, Firefox, and Edge in headless or visible mode with tools for navigation, interaction, content extraction, screenshots, and scripting.217 npmMIT