Puppeteer MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables execution of JavaScript code in the browser console to manipulate web pages and extract information.

  • Provides browser automation capabilities including page navigation, screenshot capture, form interaction, and JavaScript execution in a real browser environment.

Servidor MCP de Puppeteer (implementación en Python)

Un servidor de Protocolo de Contexto de Modelo (MLP) que proporciona funciones de automatización del navegador mediante Playwright (el equivalente de Puppeteer en Python). Este servidor permite a los LLM interactuar con páginas web, tomar capturas de pantalla y ejecutar JavaScript en un entorno de navegador real.

Descripción general

Esta implementación de Python ofrece una alternativa estable a la versión de TypeScript, ofreciendo las mismas funciones con un manejo y registro de errores mejorados. Utiliza Playwright, el equivalente en Python a Puppeteer, que proporciona robustas funciones de automatización del navegador.

Características principales

  • Automatización completa del navegador
  • Navegación de página
  • Captura de pantalla (página completa o elementos)
  • Interacción del formulario (hacer clic y rellenar)
  • Ejecución de JavaScript
  • Monitoreo de registros de la consola
  • Tiempos de espera configurables
  • Manejo detallado de errores
  • Registro completo

Prerrequisitos

  • Python 3.8+
  • pip (instalador de paquetes de Python)

Instalación

  1. Instalar los paquetes necesarios:
pip install -r requirements.txt
  1. Instalar navegadores Playwright:
playwright install

Uso

Iniciando el servidor

Ejecute el servidor directamente:

python puppeteer_server.py

Configuración del escritorio de Claude

Agregue esto a su archivo de configuración de Claude:

{ "mcpServers": { "puppeteer": { "command": "python", "args": ["path/to/puppeteer.py"] } } }

Herramientas disponibles

titiritero_navegar

Navegue a cualquier URL en el navegador.

{ "name": "puppeteer_navigate", "arguments": { "url": "https://example.com", "timeout": 60000 // optional, defaults to 60000ms } }

captura de pantalla del titiritero

Captura capturas de pantalla de toda la página o de elementos específicos.

{ "name": "puppeteer_screenshot", "arguments": { "name": "my_screenshot", "selector": "#specific-element", // optional "width": 1280, // optional, default: 1280 "height": 720, // optional, default: 720 "timeout": 30000 // optional, defaults to 30000ms } }

clic del titiritero

Haga clic en los elementos de la página.

{ "name": "puppeteer_click", "arguments": { "selector": ".button-class", "timeout": 30000 // optional, defaults to 30000ms } }

relleno de titiritero

Rellene los campos de entrada.

{ "name": "puppeteer_fill", "arguments": { "selector": "#input-id", "value": "text to fill", "timeout": 30000 // optional, defaults to 30000ms } }

titiritero_evaluar

Ejecute JavaScript en la consola del navegador.

{ "name": "puppeteer_evaluate", "arguments": { "script": "document.title", "timeout": 30000 // optional, defaults to 30000ms } }

Manejo de errores

El servidor proporciona mensajes de error detallados para escenarios comunes:

  • Fallos de navegación
  • Elemento no encontrado
  • Errores de tiempo de espera
  • Errores de ejecución de JavaScript
  • Errores en la captura de pantalla

Explotación florestal

El registro completo se implementa con diferentes niveles:

  • INFORMACIÓN: Operaciones estándar
  • ERROR: Fallos en la operación
  • DEBUG: Información detallada de ejecución

Notas

  • El navegador se inicia en modo sin interfaz gráfica para una mejor depuración
  • El tamaño predeterminado de la ventana gráfica es 1280x720
  • Todos los tiempos de espera son configurables
  • Los registros de la consola se capturan y almacenan
  • Las capturas de pantalla se almacenan en la memoria con codificación base64

Contribuyendo

¡Se agradecen las contribuciones! Lea las normas de contribución del repositorio antes de enviar solicitudes de incorporación de cambios.

Licencia

Este proyecto está licenciado bajo la licencia Apache 2.0: consulte el archivo de LICENCIA para obtener más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de protocolo de contexto de modelo que proporciona capacidades de automatización del navegador mediante Playwright, lo que permite a los LLM interactuar con páginas web, tomar capturas de pantalla y ejecutar JavaScript en un entorno de navegador real.

  1. Overview
    1. Key Features
      1. Prerequisites
        1. Installation
          1. Usage
            1. Starting the Server
            2. Claude Desktop Configuration
          2. Available Tools
            1. puppeteer_navigate
            2. puppeteer_screenshot
            3. puppeteer_click
            4. puppeteer_fill
            5. puppeteer_evaluate
          3. Error Handling
            1. Logging
              1. Notes
                1. Contributing
                  1. License
                    ID: l6pb307pqw