The MCP Puppeteer Linux Server enables AI models to automate web browser interactions on Linux systems with full support for Linux display servers (X11/Wayland). It automatically configures for various desktop environments (GNOME, KDE, etc.).
Key capabilities include:
- Navigate to URLs (
puppeteer_navigate
) - Take screenshots of pages or specific elements (
puppeteer_screenshot
) - Click elements on the page (
puppeteer_click
) - Hover over elements (
puppeteer_hover
) - Fill input fields (
puppeteer_fill
) - Select dropdown options (
puppeteer_select
) - Execute JavaScript in the browser context (
puppeteer_evaluate
) - Access console logs (
console://logs
) - Access captured screenshots (
screenshot://<name>
)
Provides support for the GNOME desktop environment when running on Linux display servers
Enables execution of JavaScript in the browser console through the puppeteer_evaluate tool
Provides support for the KDE desktop environment when running on Linux display servers
Specifically designed to support Linux display servers (X11 and Wayland) with automatic detection and configuration
Uses Puppeteer to provide browser automation capabilities for navigating web pages, taking screenshots, and executing JavaScript
Provides explicit support for Wayland display server with automatic detection and configuration of necessary environment variables
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 screenshotselector
(string, optional): CSS selector for element to screenshotwidth
(number, optional, default: 800): Screenshot widthheight
(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 fieldvalue
(string): Value to fill
- puppeteer_select
- Select an element with SELECT tag
- Inputs:
selector
(string): CSS selector for element to selectvalue
(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:
- Console Logs (
console://logs
)- Browser console output in text format
- Includes all console messages from the browser
- Screenshots (
screenshot://<name>
)- 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
Installation
Installing via Smithery
To install Puppeteer Linux for Claude Desktop automatically via Smithery:
Manual Installation
- Clone the repository:
- Install dependencies:
- Start the server:
Display Server Details
The server automatically detects and configures the appropriate display environment:
Wayland Support
- Detects Wayland sessions via
WAYLAND_DISPLAY
- Configures necessary environment variables:
WAYLAND_DISPLAY
QT_QPA_PLATFORM
GDK_BACKEND
MOZ_ENABLE_WAYLAND
XDG_SESSION_TYPE
X11 Support
- Fallback for traditional X11 sessions
- Handles X11-specific variables:
DISPLAY
XAUTHORITY
- Supports various desktop environments and window managers
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Enables browser automation for LLMs on Linux display servers, supporting web interaction, screenshots, and JavaScript execution in a real browser.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityEnables LLMs to interact with web pages, take screenshots, and execute JavaScript in a real browser environmentLast updated -1032785JavaScriptMIT License
- AsecurityAlicenseAqualityThis server provides cloud browser automation capabilities using Browserbase, Puppeteer, and Stagehand. This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a cloud browser environment.Last updated -84931,693TypeScriptApache 2.0
- AsecurityFlicenseAqualityA server that enables browser automation using Playwright, allowing interaction with web pages, capturing screenshots, and executing JavaScript in a browser environment through LLMs.Last updated -1218,1151TypeScript
- AsecurityFlicenseAqualityEnables LLMs to perform web browsing tasks, take screenshots, and execute JavaScript using Puppeteer for browser automation.Last updated -415,5021JavaScript