MCP-Puppeteer-Linux

Automatize navegadores web no Linux usando Puppeteer. Permite que LLMs interajam com páginas web, tirem capturas de tela e executem JavaScript.

Documentação

MseeP.ai Security Assessment Badge

MCP-Puppeteer-Linux

smithery badge Um servidor de Protocolo de Contexto de Modelo (MCP) que fornece capacidades de automação de navegador usando Puppeteer, com suporte completo para servidores de exibição Linux (X11 e Wayland). Este servidor permite que LLMs interajam com páginas da web, tirem capturas de tela e executem JavaScript em um ambiente de navegador real.

Suporte a Servidores de Exibição

Este fork adiciona detecção automática e configuração para servidores de exibição Linux:

  • Detecção automática de X11/Wayland
  • Configuração dinâmica de variáveis de ambiente
  • Suporte para vários ambientes de desktop (GNOME, KDE, etc.)
  • Mecanismos de fallback e tratamento robusto de erros
  • Compatibilidade com XWayland

Componentes

Ferramentas

  • puppeteer_navigate
    • Navegar para qualquer URL no navegador
    • Entrada: url (string)
  • puppeteer_screenshot
    • Capturar capturas de tela da página inteira ou de elementos específicos
    • Entradas:
      • name (string, obrigatório): Nome para a captura de tela
      • selector (string, opcional): Seletor CSS para o elemento a ser capturado
      • width (número, opcional, padrão: 800): Largura da captura de tela
      • height (número, opcional, padrão: 600): Altura da captura de tela
  • puppeteer_click
    • Clicar em elementos na página
    • Entrada: selector (string): Seletor CSS para o elemento a ser clicado
  • puppeteer_hover
    • Passar o mouse sobre elementos na página
    • Entrada: selector (string): Seletor CSS para o elemento a ser destacado
  • puppeteer_fill
    • Preencher campos de entrada
    • Entradas:
      • selector (string): Seletor CSS para o campo de entrada
      • value (string): Valor a ser preenchido
  • puppeteer_select
    • Selecionar um elemento com a tag SELECT
    • Entradas:
      • selector (string): Seletor CSS para o elemento a ser selecionado
      • value (string): Valor a ser selecionado
  • puppeteer_evaluate
    • Executar JavaScript no console do navegador
    • Entrada: script (string): Código JavaScript a ser executado

Recursos

O servidor fornece acesso a dois tipos de recursos:

  1. Logs do Console (console://logs)
    • Saída do console do navegador em formato de texto
    • Inclui todas as mensagens do console do navegador
  2. Capturas de Tela (screenshot://<name>)
    • Imagens PNG das capturas de tela tiradas
    • Acessíveis pelo nome da captura especificado durante a captura

Principais Recursos

  • Automação de navegador com suporte a servidores de exibição Linux
  • Detecção e configuração automática de X11/Wayland
  • Monitoramento de logs do console
  • Capacidades de captura de tela
  • Execução de JavaScript
  • Interação básica com a web (navegação, cliques, preenchimento de formulários)

Configuração

Configuração do Claude Desktop

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": ["ts-node", "/path/to/index.ts"]
    }
  }
}

Instalação

Instalando via Smithery

Para instalar o Puppeteer Linux para Claude Desktop automaticamente via Smithery:

npx -y @smithery/cli install @PhialsBasement/mcp-puppeteer-linux --client claude

Instalação Manual

  1. Clone o repositório:
git clone https://github.com/PhialsBasement/MCP-Puppeteer-Linux.git
  1. Instale as dependências:
npm install
  1. Inicie o servidor:
ts-node index.ts

Detalhes do Servidor de Exibição

O servidor detecta e configura automaticamente o ambiente de exibição apropriado:

Suporte a Wayland

  • Detecta sessões Wayland via WAYLAND_DISPLAY
  • Configura as variáveis de ambiente necessárias:
    • WAYLAND_DISPLAY
    • QT_QPA_PLATFORM
    • GDK_BACKEND
    • MOZ_ENABLE_WAYLAND
    • XDG_SESSION_TYPE

Suporte a X11

  • Fallback para sessões X11 tradicionais
  • Lida com variáveis específicas do X11:
    • DISPLAY
    • XAUTHORITY
  • Suporta vários ambientes de desktop e gerenciadores de janelas

Licença

Este servidor MCP é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.