Provisions and manages Coder workspaces with headless Chrome browser capabilities, including browser automation and monitoring through CDP proxy and noVNC interface.
Enables containerized deployment and management of the Chrome automation environment, with support for volume mounting and container management.
Coder Chrome Automation and MCP
Provision a Coder workspace with headless Chrome browser, CDP proxy, and noVNC interface for browser automation and monitoring.
๐ Features
Preconfigured Chrome with undetected-chromedriver
CDP (Chrome DevTools Protocol) HTTP proxy API
noVNC remote desktop access
Randomized browser fingerprint generation
Persistent user profile storage
Supervisor process management
Related MCP server: Chrome Tools MCP Server
๐ฆ Getting Started
1. Build the Docker image
2. Run the container
3. Access the workspace
noVNC: http://localhost:6080
CDP Proxy: http://localhost:9223
Chrome Profile:
/home/chrome/profile(persistent volume)
๐งฑ Architecture
The workspace includes:
Xvfb - Virtual display server
Fluxbox - Lightweight window manager
x11vnc + noVNC - Remote desktop access
Chrome Browser - With undetected-chromedriver
CDP Proxy Server - HTTP API for DevTools commands
Supervisor - Process management
๐ ๏ธ Example API Requests
1. Get browser fingerprint
2. Set network conditions
3. Get page load metrics
๐งช Advanced Usage
Custom User-Agent
Add browser extensions
Mount extension directory as volume
Update
init_chrome.pyto load extensionsExample configuration:
๐งช Testing the Setup
Start the container
Open noVNC at http://localhost:6080
Verify Chrome is running with: