Steel Puppeteer

by rdvo

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Supports configuration through a .env file in the project root for setting environment variables

  • Allows execution of JavaScript in the browser console through the puppeteer_evaluate tool

  • Provides specific configuration instructions for Claude Desktop on macOS, identifying the config file location

Titiritero de acero

Un servidor de Protocolo de Contexto de Modelo que proporciona capacidades de automatización del navegador mediante Puppeteer y Steel. Este servidor permite a los LLM interactuar con páginas web, tomar capturas de pantalla y ejecutar JavaScript en un entorno de navegador real.

Componentes

Herramientas

  • titiritero_navegar
    • Navegue a cualquier URL en el navegador
    • Entradas:
      • url (cadena, obligatoria): URL a la que navegar
      • timeout (número, opcional, predeterminado: 60000): tiempo de espera de navegación en milisegundos
      • waitUntil (cadena, opcional, valor predeterminado: "domcontentloaded"): Cuándo se considera que la navegación fue exitosa. Opciones: "load", "domcontentloaded", "networkidle0", "networkidle2"
  • captura de pantalla del titiritero
    • Capturar capturas de pantalla de toda la página o de elementos específicos
    • Entradas:
      • name (cadena, obligatorio): nombre para la captura de pantalla
      • selector (cadena, opcional): selector CSS para el elemento que se va a capturar en captura de pantalla
  • clic del titiritero
    • Haga clic en elementos de la página
    • Entrada: selector (cadena, obligatoria): selector CSS para el elemento en el que hacer clic
  • relleno de titiritero
    • Rellene los campos de entrada
    • Entradas:
      • selector (cadena, obligatorio): selector CSS para el campo de entrada
      • value (cadena, obligatorio): Valor a rellenar
  • titiritero_seleccionar
    • Seleccione un elemento con la etiqueta SELECT
    • Entradas:
      • selector (cadena, obligatorio): selector CSS para el elemento a seleccionar
      • value (cadena, obligatorio): Valor a seleccionar
  • titiritero_flotante
    • Elementos flotantes en la página
    • Entrada: selector (cadena, obligatoria): selector CSS para el elemento sobre el que se pasará el mouse
  • titiritero_evaluar
    • Ejecutar JavaScript en la consola del navegador
    • Entrada: script (cadena, obligatorio): código JavaScript a ejecutar
  • titiritero_obtener_contenido
    • Extraer contenido de la página actual
    • Entrada: selector (cadena, opcional): Selector CSS para obtener el contenido de elementos específicos. Si no se proporciona, devuelve el contenido completo de la página.
  • pergamino del titiritero
    • Desplácese por la página para activar la carga diferida
    • Entradas:
      • scrollDelay (número, opcional, predeterminado: 100): Retraso entre desplazamientos en milisegundos
      • maxScrolls (número, opcional, predeterminado: 50): Número máximo de desplazamientos

Recursos

El servidor proporciona acceso a dos tipos de recursos:

  1. Registros de la consola ( console://logs )
    • Salida de la consola del navegador en formato de texto
    • Incluye todos los mensajes de la consola del navegador.
  2. Capturas de pantalla ( screenshot://<name> )
    • Imágenes PNG de capturas de pantalla
    • Accesible a través del nombre de captura de pantalla especificado durante la captura

Características principales

  • Automatización del navegador con Puppeteer
  • Integración de Steel para la gestión de sesiones del navegador
  • Monitoreo y captura de registros de la consola
  • Capacidades de captura de pantalla
  • Ejecución de JavaScript
  • Interacción web básica (navegación, clics, llenado de formularios)
  • Extracción de contenido con gestión de límite de tokens
  • Soporte de carga diferida mediante desplazamiento
  • Compatibilidad con instancias de Steel locales y remotas

Configuración

Configuración del escritorio de Claude

Para usar el servidor Steel Puppeteer con Claude Desktop, agregue la siguiente configuración a su archivo de configuración de Claude Desktop (normalmente ubicado en ~/Library/Application Support/Claude/claude_desktop_config.json en macOS):

{ "mcpServers": { "steel-puppeteer": { "command": "node", "args": ["path/to/steel-puppeteer/dist/index.js"], "env": { "STEEL_LOCAL": "true" } } } }

Reemplace "path/to/steel-puppeteer/dist/index.js" con la ruta real al archivo JavaScript compilado en su sistema.

Variables de entorno

El servidor Steel Puppeteer se puede configurar utilizando las siguientes variables de entorno:

  • STEEL_LOCAL (opcional, predeterminado: "falso"): configúrelo en "verdadero" para utilizar una instancia local de Steel en lugar del servicio en la nube.
  • STEEL_API_KEY (obligatorio solo si STEEL_LOCAL es "falso"): Su clave API de Steel para la autenticación al usar el servicio en la nube.
  • STEEL_URL (opcional): la URL de su instancia de Steel si utiliza una implementación personalizada.

Configuración del servidor

Si ejecuta el servidor Steel Puppeteer directamente (no a través de Claude Desktop), puede configurar estas variables de entorno en su shell o crear un archivo .env en la raíz del proyecto. Aquí tiene un ejemplo de archivo .env para uso local:

STEEL_LOCAL=true

Si está utilizando el servicio en la nube Steel, su archivo .env se vería así:

STEEL_API_KEY=your-steel-api-key STEEL_LOCAL=false

Ejecución del servidor

Para iniciar el servidor Steel Puppeteer:

  1. Instalar dependencias:
    npm install
  2. Construir el proyecto:
    npm run build
  3. Iniciar el servidor:
    npm start
  4. ¡Abre Claude Desktop y navega! El servidor se iniciará y escuchará en el puerto especificado (predeterminado: 3000).

Solución de problemas

  • Si tiene problemas con Puppeteer, asegúrese de tener las dependencias necesarias instaladas en su sistema. Consulte la guía de solución de problemas de Puppeteer para obtener más información.
  • Si utiliza el servicio en nube Steel, asegúrese de que su clave API de Steel sea válida y tenga los permisos necesarios.
  • Si usa una instancia de Steel local, asegúrese de que esté en ejecución y sea accesible en la URL especificada (si es personalizada) o en la dirección local predeterminada.

Para obtener opciones de configuración más detalladas y un uso avanzado, consulte la documentación de Steel y la referencia de la API de Puppeteer.

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

Un servidor de protocolo de contexto de modelo que permite a los LLM automatizar los navegadores web mediante Puppeteer, lo que permite la navegación, las capturas de pantalla, el llenado de formularios y la ejecución de JavaScript en un entorno de navegador real.

  1. Components
    1. Tools
    2. Resources
  2. Key Features
    1. Configuration
      1. Claude Desktop Configuration
      2. Environment Variables
      3. Server Configuration
      4. Running the Server
      5. Troubleshooting
    ID: dupuf5crsv