Skip to main content
Glama

Selenium MCP Server

by themindmod

Servidor Selenium MCP

insignia de herrería

Un servidor MCP que usa Selenium para interactuar con una instancia de WebDriver. Creado con la plantilla MCP-Server-Starter .

Descripción general

Este servidor permite que los agentes de IA controlen una sesión de navegador web a través de Selenium WebDriver, lo que habilita tareas como raspado web, pruebas automatizadas y llenado de formularios a través del Protocolo de contexto de modelo.

Componentes principales

  • Servidor MCP : expone las acciones de Selenium WebDriver como herramientas MCP.
  • Selenium WebDriver : interactúa con el navegador.
  • Clientes MCP : hosts de IA (como Cursor, Claude Desktop) que pueden utilizar las herramientas expuestas.

Prerrequisitos

  • Node.js (v18 o posterior)
  • npm (v7 o posterior)
  • Un ejecutable WebDriver (por ejemplo, ChromeDriver, GeckoDriver) instalado y disponible en la RUTA de su sistema.
  • Un navegador web compatible (por ejemplo, Chrome, Firefox).

Empezando

  1. Clonar el repositorio:
    git clone <your-repo-url> selenium-mcp-server cd selenium-mcp-server
  2. Instalar dependencias:
    npm install
  3. Configurar WebDriver:
    • Asegúrese de que su WebDriver (por ejemplo, chromedriver ) esté instalado y en su RUTA.
    • Modifique src/seleniumService.ts (creará este archivo) si es necesario para especificar las opciones del navegador o las rutas de WebDriver.
  4. Construir el servidor:
    npm run build
  5. Ejecutar el servidor:
    npm start
    Alternativamente, intégrelo con un host MCP como Cursor o Claude Desktop (consulte las secciones de Integración a continuación).

Herramientas

Este servidor proporcionará herramientas como:

  • selenium_navigate : navega el navegador a una URL específica.
  • selenium_findElement : encuentra un elemento en la página usando un selector CSS.
  • selenium_click : hace clic en un elemento.
  • selenium_sendKeys : envía pulsaciones de teclas a un elemento.
  • selenium_getPageSource : recupera el código HTML de la página actual.
  • (Agregue más herramientas según sea necesario)

Implementación de TypeScript

El servidor utiliza las bibliotecas @modelcontextprotocol/sdk y selenium-webdriver .

import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { Builder, By, Key, until, WebDriver } from 'selenium-webdriver'; // Basic server setup (details in src/index.ts) const server = new Server({ name: "selenium-mcp-server", version: "0.1.0", capabilities: { tools: {}, // Enable tools capability } }); // Selenium WebDriver setup (details in src/seleniumService.ts) let driver: WebDriver; async function initializeWebDriver() { driver = await new Builder().forBrowser('chrome').build(); // Or 'firefox', etc. } // Example tool implementation (details in src/tools/) server.registerTool('selenium_navigate', { description: 'Navigates the browser to a specific URL.', inputSchema: { /* ... zod schema ... */ }, outputSchema: { /* ... zod schema ... */ }, handler: async (params) => { await driver.get(params.url); return { success: true }; } }); // Connect transport async function startServer() { await initializeWebDriver(); const transport = new StdioServerTransport(); await server.connect(transport); console.log("Selenium MCP Server connected via stdio."); // Graceful shutdown process.on('SIGINT', async () => { console.log("Shutting down WebDriver..."); if (driver) { await driver.quit(); } process.exit(0); }); } startServer();

Desarrollo

  • Construir: npm run build
  • Ejecutar: npm start (ejecuta node build/index.js )
  • Pelusa: npm run lint
  • Formato: npm run format

Depuración

Utilice el Inspector MCP o las técnicas de depuración estándar de Node.js.

Integración con hosts MCP

(Conserve las secciones relevantes del README original para Cursor, Claude Desktop, Smithery, etc., actualizando rutas y comandos según sea necesario)

Integración del cursor

  1. Construye tu servidor : npm run build
  2. En el cursor: Settings > Features > MCP : agregar un nuevo servidor MCP.
  3. Registra tu servidor :
    • Seleccione stdio como tipo de transporte.
    • Nombre: Selenium Server (o similar).
    • Comando: node /path/to/selenium-mcp-server/build/index.js .
  4. Ahorrar .

Integración de escritorio de Claude

  1. Construye tu servidor : npm run build
  2. Modificar claude_desktop_config.json :
    { "mcpServers": { "selenium-mcp-server": { "command": "node", "args": [ "/path/to/selenium-mcp-server/build/index.js" ] } } }
  3. Reinicie Claude Desktop .

Mejores prácticas

  • Utilice TypeScript y Zod para la seguridad y validación de tipos.
  • Mantenga las herramientas modulares (por ejemplo, un archivo por herramienta en src/tools/ ).
  • Maneje los errores de WebDriver con elegancia (por ejemplo, elemento no encontrado, problemas de navegación).
  • Asegúrese de que WebDriver se apague correctamente (por ejemplo, driver.quit() al salir del servidor).
  • Siga las mejores prácticas de MCP para esquemas, manejo de errores y tipos de contenido.

Más información

Créditos

Basado en la plantilla creada por Seth Rose :

-
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 que los agentes de IA controlen las sesiones del navegador web a través de Selenium WebDriver, lo que habilita tareas de automatización web como raspado, pruebas y llenado de formularios a través del Protocolo de contexto de modelo.

  1. Descripción general
    1. Componentes principales
      1. Prerrequisitos
        1. Empezando
          1. Herramientas
            1. Implementación de TypeScript
              1. Desarrollo
                1. Depuración
              2. Integración con hosts MCP
                1. Integración del cursor
                2. Integración de escritorio de Claude
              3. Mejores prácticas
                1. Más información
                  1. Créditos

                    Related MCP Servers

                    • A
                      security
                      F
                      license
                      A
                      quality
                      Enables AI agents to interact with web browsers using natural language, featuring automated browsing, form filling, vision-based element detection, and structured JSON responses for systematic browser control.
                      Last updated -
                      1
                      46
                      Python
                      • Linux
                      • Apple
                    • -
                      security
                      F
                      license
                      -
                      quality
                      Enables AI agents to control web browsers via a standardized interface for operations like launching, interacting with, and closing browsers.
                      Last updated -
                      0
                      JavaScript
                    • -
                      security
                      F
                      license
                      -
                      quality
                      A web browser automation server that allows AI assistants to control Chrome with persistent state management, enabling complex browsing tasks through asynchronous browser operations.
                      Last updated -
                      1
                      Python
                      • Apple
                    • -
                      security
                      A
                      license
                      -
                      quality
                      AI-driven browser automation server that implements the Model Context Protocol to enable natural language control of web browsers for tasks like navigation, form filling, and visual interaction.
                      Last updated -
                      1
                      Python
                      MIT License
                      • 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/themindmod/selenium-mcp-server'

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