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
MCP-Puppeteer-Linux
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 telaselector(string, opcional): Seletor CSS para o elemento a ser capturadowidth(número, opcional, padrão: 800): Largura da captura de telaheight(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 entradavalue(string): Valor a ser preenchido
- puppeteer_select
- Selecionar um elemento com a tag SELECT
- Entradas:
selector(string): Seletor CSS para o elemento a ser selecionadovalue(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:
- Logs do Console (
console://logs)- Saída do console do navegador em formato de texto
- Inclui todas as mensagens do console do navegador
- 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
- Clone o repositório:
git clone https://github.com/PhialsBasement/MCP-Puppeteer-Linux.git
- Instale as dependências:
npm install
- 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_DISPLAYQT_QPA_PLATFORMGDK_BACKENDMOZ_ENABLE_WAYLANDXDG_SESSION_TYPE
Suporte a X11
- Fallback para sessões X11 tradicionais
- Lida com variáveis específicas do X11:
DISPLAYXAUTHORITY
- 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.
