Skip to main content
Glama

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 :

Related MCP Servers

  • -
    security
    -
    license
    -
    quality
    Enables AI agents to control web browsers via a standardized interface for operations like launching, interacting with, and closing browsers.
  • A
    security
    A
    license
    A
    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
    2
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    Empowers AI agents to perform web browsing, automation, and scraping tasks with minimal supervision using natural language instructions and Selenium.
    Last updated -
    6
    Apache 2.0
    • Apple
  • -
    security
    F
    license
    -
    quality
    Enables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.
    Last updated -

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