PM

phialsbasement/mcp-puppeteer-linux

浏览器自动化

本页由 AI 翻译,技术细节请以原文为准。 查看原文

7 stars 8 forks 质量 55 趋势 15

Linux version of puppeteer

概览

A Model Context Protocol server that provides browser automation capabilities using Puppeteer, with full support for Linux display servers (X11 and Wayland). This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment. This fork adds automatic detection and configuration for Linux display servers: - Automatic X11/Wayland detection - Dynamic environment variable configuration - Support for various desktop environments (GNOME, KDE, etc.

README

以下为原文 README 节选,完整内容请查看原文。

MCP-Puppeteer-Linux

A Model Context Protocol server that provides browser automation capabilities using Puppeteer, with full support for Linux display servers (X11 and Wayland). This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environment.

Display Server Support

This fork adds automatic detection and configuration for Linux display servers:

  • Automatic X11/Wayland detection
  • Dynamic environment variable configuration
  • Support for various desktop environments (GNOME, KDE, etc.)
  • Fallback mechanisms and robust error handling
  • XWayland compatibility

Components

Tools

  • puppeteer_navigate
    • Navigate to any URL in the browser
    • Input: url (string)
  • puppeteer_screenshot
    • Capture screenshots of the entire page or specific elements
    • Inputs:
      • name (string, required): Name for the screenshot
      • selector (string, optional): CSS selector for element to screenshot
      • width (number, optional, default: 800): Screenshot width
      • height (number, optional, default: 600): Screenshot height
  • puppeteer_click
    • Click elements on the page
    • Input: selector (string): CSS selector for element to click
  • puppeteer_hover
    • Hover elements on the page
    • Input: selector (string): CSS selector for element to hover
  • puppeteer_fill
    • Fill out input fields
    • Inputs:
      • selector (string): CSS selector for input field
      • value (string): Value to fill
  • puppeteer_select
    • Select an element with SELECT tag
    • Inputs:
      • selector (string): CSS selector for element to select
      • value (string): Value to select
  • puppeteer_evaluate
    • Execute JavaScript in the browser console
    • Input: script (string): JavaScript code to execute

Resources

The server provides access to two types of resources:

  1. Console Logs (console://logs)
    • Browser console output in text format
    • Includes all console messages from the browser
  2. Screenshots (screenshot://)
    • PNG images of captured screenshots
    • Accessible via the screenshot name specified during capture

Key Features

  • Browser automation with Linux display server support
  • Automatic X11/Wayland detection and configuration
  • Console log monitoring
  • Screenshot capabilities
  • JavaScript execution
  • Basic web interaction (navigation, clicking, form filling)

Configuration

Claude Desktop Configuration

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

Installation

Installing via Smithery

在 GitHub 查看完整 README

安装

npx ts-node /path/to/index.ts
新手?先看 mcpskill.org 教程 →

配置

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