logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Chromium-Automation-Service-Linux logo

PhialsBasement

No License

Quick Info

GitHub GitHub Stars 7
NPM Weekly Downloads 108
Tools 1
Last Updated 2026-02-19

Tags

puppeteerautomationbrowserusing puppeteerbrowser automationpuppeteer linux

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)

  1. Browser Logs: Accessible via the URI scheme console://system-output. Provides chronological textual output streamed from the browser's internal console.
  2. Captured Assets: Static images are retrieved using screenshot://<asset_identifier>, where the identifier matches the name provided during capture_viewport_snapshot execution.

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.

See Also

`