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
-
Clona este repositorio:
git clone https://github.com/yourusername/patchright-lite-mcp-server.git cd patchright-lite-mcp-server -
Instala las dependencias:
npm install -
Compila el código TypeScript:
npm run build -
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
-
Lanza un navegador y navega a un sitio:
Tool: browse Parameters: { "url": "https://example.com/login", "headless": false } -
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" } -
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" } -
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" } -
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" } -
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