Patchright Lite MCP Server

Un servidor que envuelve el SDK de Patchright para proporcionar automatización sigilosa de navegadores para modelos de IA.

Documentación

Servidor MCP Patchright Lite

Un servidor simplificado del Protocolo de Contexto de Modelos (MCP) que envuelve el SDK de Node.js de Patchright para proporcionar capacidades de automatización de navegador sigilosa a los modelos de IA. Este servidor ligero se centra en la funcionalidad esencial para facilitar su uso por parte de modelos de IA más simples.

¿Qué es Patchright?

Patchright es una versión no detectada del framework de pruebas y automatización Playwright. Está diseñado como un reemplazo directo de Playwright, pero con capacidades avanzadas de sigilo para evitar la detección por parte de sistemas anti-bot. Patchright corrige varias técnicas de detección, incluyendo:

  • Fuga de Runtime.enable
  • Fuga de Console.enable
  • Fugas de banderas de comandos
  • Puntos de detección generales
  • Interacciones con Shadow Root cerrado

Este servidor MCP envuelve la versión de Node.js de Patchright para hacer sus capacidades disponibles a los modelos de IA a través de un protocolo simple y estandarizado.

Características

  • Interfaz simple: Centrado en la funcionalidad principal con solo 4 herramientas esenciales
  • Automatización sigilosa: Utiliza el modo sigiloso de Patchright para evitar la detección
  • Estándar MCP: Implementa el Protocolo de Contexto de Modelos para una fácil integración con IA
  • Transporte Stdio: Utiliza entrada/salida estándar para una integración sin problemas

Requisitos previos

  • Node.js 18+
  • npm o yarn

Instalación

  1. Clona este repositorio:

    git clone https://github.com/yourusername/patchright-lite-mcp-server.git
    cd patchright-lite-mcp-server
    
  2. Instala las dependencias:

    npm install
    
  3. Compila el código TypeScript:

    npm run build
    
  4. Instala el controlador de Chromium para Patchright:

    npx patchright install chromium
    

Uso

Ejecuta el servidor con:

npm start

Esto iniciará el servidor con transporte stdio, listo para integrarse con herramientas de IA que soporten MCP.

Integración con Modelos de IA

Claude Desktop

Añade esto a tu archivo claude-desktop-config.json:

{
  "mcpServers": {
    "patchright": {
      "command": "node",
      "args": ["path/to/patchright-lite-mcp-server/dist/index.js"]
    }
  }
}

VS Code con GitHub Copilot

Usa la CLI de VS Code para añadir el servidor MCP:

code --add-mcp '{"name":"patchright","command":"node","args":["path/to/patchright-lite-mcp-server/dist/index.js"]}'

Herramientas Disponibles

El servidor proporciona solo 4 herramientas esenciales:

1. browse

Lanza un navegador, navega a una URL y extrae contenido.

Tool: browse
Parameters: {
  "url": "https://example.com",
  "headless": true,
  "waitFor": 1000
}

Devuelve:

  • Título de la página
  • Vista previa del texto visible
  • ID del navegador (para operaciones posteriores)
  • ID de la página (para operaciones posteriores)
  • Ruta de la captura de pantalla

2. interact

Realiza una interacción simple en una página.

Tool: interact
Parameters: {
  "browserId": "browser-id-from-browse",
  "pageId": "page-id-from-browse",
  "action": "click", // can be "click", "fill", or "select"
  "selector": "#submit-button",
  "value": "Hello World" // only needed for fill and select
}

Devuelve:

  • Resultado de la acción
  • URL actual
  • Ruta de la captura de pantalla

3. extract

Extrae contenido específico de la página actual.

Tool: extract
Parameters: {
  "browserId": "browser-id-from-browse",
  "pageId": "page-id-from-browse",
  "type": "text" // can be "text", "html", or "screenshot"
}

Devuelve:

  • Contenido extraído según el tipo solicitado

4. close

Cierra un navegador para liberar recursos.

Tool: close
Parameters: {
  "browserId": "browser-id-from-browse"
}

Flujo de Uso de Ejemplo

  1. Lanza un navegador y navega a un sitio:

    Tool: browse
    Parameters: {
      "url": "https://example.com/login",
      "headless": false
    }
    
  2. Rellena un formulario de inicio de sesión:

    Tool: interact
    Parameters: {
      "browserId": "browser-id-from-step-1",
      "pageId": "page-id-from-step-1",
      "action": "fill",
      "selector": "#username",
      "value": "user@example.com"
    }
    
  3. Rellena la contraseña:

    Tool: interact
    Parameters: {
      "browserId": "browser-id-from-step-1",
      "pageId": "page-id-from-step-1",
      "action": "fill",
      "selector": "#password",
      "value": "password123"
    }
    
  4. Haz clic en el botón de inicio de sesión:

    Tool: interact
    Parameters: {
      "browserId": "browser-id-from-step-1",
      "pageId": "page-id-from-step-1",
      "action": "click",
      "selector": "#login-button"
    }
    
  5. Extrae texto para verificar el inicio de sesión:

    Tool: extract
    Parameters: {
      "browserId": "browser-id-from-step-1",
      "pageId": "page-id-from-step-1",
      "type": "text"
    }
    
  6. Cierra el navegador:

    Tool: close
    Parameters: {
      "browserId": "browser-id-from-step-1"
    }
    

Consideraciones de Seguridad

  • Este servidor proporciona potentes capacidades de automatización. Úsalo de manera responsable y ética.
  • Evita automatizar acciones que violen los términos de servicio de los sitios web.
  • Ten en cuenta los límites de velocidad y no sobrecargues los sitios web con solicitudes.

Licencia

Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.

Agradecimientos

  • Patchright-nodejs por Kaliiiiiiiiii-Vinyzu
  • Protocolo de Contexto de Modelos por modelcontextprotocol

Uso con Docker

Puedes ejecutar este servidor usando Docker:

docker run -it --rm dylangroos/patchright-mcp

Construyendo la Imagen Docker Localmente

Construye la imagen Docker:

docker build -t patchright-mcp .

Ejecuta el contenedor:

docker run -it --rm patchright-mcp

Docker Hub

La imagen se publica automáticamente en Docker Hub cuando los cambios se fusionan en la rama principal. Puedes encontrar la última imagen en: dylangroos/patchright-mcp