Chromium-Automation-Service-Linux
Offers robust web page interaction via the Puppeteer framework, specifically tailored for operational execution within diverse Linux display environments (including X11 and Wayland setups), facilitating web scripting, visual capture, and JavaScript runtime execution.
Author

PhialsBasement
Quick Info
Actions
Tags
Service Profile: Chromium-Automation-Service-Linux
This Model Context Protocol (MCP) endpoint leverages the Puppeteer library to facilitate sophisticated, programmatic control over a Chromium-based browser instance. A key specialization of this server is its comprehensive enablement across various Linux display manager architectures, ensuring reliable operation whether utilizing the X Window System (X11) or the modern Wayland compositor.
Core Functionality: Enables large language models to programmatically navigate, capture static views (screenshots), and execute arbitrary JavaScript code within a genuine browser context.
Linux Display Interoperability Enhancements
This specialized build incorporates logic for adaptive environment setup:
* Automated differentiation between X11 and Wayland sessions.
* Dynamic injection of necessary environment variables (DISPLAY, WAYLAND_DISPLAY, etc.).
* Guaranteed functionality across prevalent desktop shells (e.g., GNOME, Plasma).
* Resilient operational fallbacks and enhanced error trapping.
* Compatibility shim support for XWayland environments.
Available Operations (Tools)
| Tool Name | Purpose | Primary Input | Notes |
|---|---|---|---|
navigate_to_url |
Directs the browser viewport to a specified Uniform Resource Locator. | target_uri (String) |
|
capture_viewport_snapshot |
Generates an image file (PNG) of the current view. | asset_identifier (String, Required) |
Optional: Specify CSS target_element selector and output resolution_px (Width/Height). |
trigger_element_interaction |
Simulates a user mouse click action on a target element. | target_selector (String) |
Uses CSS selector. |
simulate_mouse_hover |
Moves the cursor focus over a specified page element. | target_selector (String) |
Uses CSS selector. |
inject_form_data |
Populates text or similar form inputs with provided payload. | input_field_id (String), data_payload (String) |
|
set_dropdown_selection |
Selects an option within an HTML <select> tag structure. |
select_id (String), choice_value (String) |
Targets option by its value attribute. |
execute_in_context |
Runs custom JavaScript code directly in the browser's execution scope. | js_code_block (String) |
Returns the result of the script execution. |
Data Access Endpoints (Resources)
- Browser Logs: Accessible via the URI scheme
console://system-output. Provides chronological textual output streamed from the browser's internal console. - Captured Assets: Static images are retrieved using
screenshot://<asset_identifier>, where the identifier matches the name provided duringcapture_viewport_snapshotexecution.
Key Service Features Summary
- Full-featured web automation stack underpinned by Puppeteer.
- Platform-aware initialization for Linux display systems (X11/Wayland).
- Integrated monitoring for browser console diagnostics.
- Programmatic screenshot generation.
- Sandboxed execution environment for arbitrary client-provided scripting.
- Support for fundamental user interactions (navigation, form interaction, clicks).
Deployment Manifest (Example Configuration)
To integrate this server within a compatible client framework (e.g., Claude Desktop), the following configuration structure is generally required:
{ "mcpServers": { "browser_automation_linux": { "command": "npx", "args": ["ts-node", "/path/to/entrypoint.ts"] } } }
Acquisition Methods
Via Automated Registry Tooling (Smithery):
bash npx -y @smithery/cli install @PhialsBasement/mcp-puppeteer-linux --client claude
Manual Setup:
1. Clone the source repository from its public host.
2. Execute dependency installation: npm install.
3. Initiate the service daemon: ts-node index.ts.
Display System Configuration Details
Wayland Initialization Logic: The server actively checks for the presence of $WAYLAND_DISPLAY and sets associated platform variables to guide rendering libraries:
* WAYLAND_DISPLAY
* QT_QPA_PLATFORM
* GDK_BACKEND
* MOZ_ENABLE_WAYLAND
* XDG_SESSION_TYPE
X11 Initialization Logic: Operates as the default or fallback mechanism, managing standard X server connection variables like DISPLAY and securing session context via XAUTHORITY.
Licensing Terms
Distributed under the permissive MIT License. Refer to the bundled LICENSE file for complete stipulations regarding usage, modification, and redistribution rights.
