Skip to main content
Glama

Browser MCP Server

by krutovvv

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

📦 Getting Started

1. Build the Docker image

docker build -t coder-chrome .

2. Run the container

docker run -d \ -p 6080:6080 \ -p 9223:9223 \ --name chrome-workspace \ coder-chrome

3. Access the workspace

  • noVNC: http://localhost:6080
  • CDP Proxy: http://localhost:9223
  • Chrome Profile: /home/chrome/profile (persistent volume)

🧱 Architecture

The workspace includes:

  1. Xvfb - Virtual display server
  2. Fluxbox - Lightweight window manager
  3. x11vnc + noVNC - Remote desktop access
  4. Chrome Browser - With undetected-chromedriver
  5. CDP Proxy Server - HTTP API for DevTools commands
  6. Supervisor - Process management

🛠️ Example API Requests

1. Get browser fingerprint

curl -X POST http://localhost:9223 \ -H "Content-Type: application/json" \ -d '{"method": "Browser.getFingerprint"}'

2. Set network conditions

curl -X POST http://localhost:9223 \ -H "Content-Type: application/json" \ -d '{ "method": "Network.emulateNetworkConditions", "params": { "offline": false, "latency": 50, "downloadThroughput": 1024000, "uploadThroughput": 512000 } }'

3. Get page load metrics

curl -X POST http://localhost:9223 \ -H "Content-Type: application/json" \ -d '{"method": "Performance.getMetrics"}'

🧪 Advanced Usage

Custom User-Agent

curl -X POST http://localhost:9223 \ -H "Content-Type: application/json" \ -d '{ "method": "Network.setUserAgentOverride", "params": { "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36" } }'

Add browser extensions

  1. Mount extension directory as volume
  2. Update init_chrome.py to load extensions
  3. Example configuration:
options.add_argument('--load-extension=/home/chrome/extensions/your-extension')

🧪 Testing the Setup

  1. Start the container
  2. Open noVNC at http://localhost:6080
  3. Verify Chrome is running with:
docker exec -it chrome-workspace ps aux

🧼 Maintenance

Update dependencies

docker build --no-cache -t coder-chrome .

Clean up old containers

docker rm -f chrome-workspace
-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A Docker-based workspace providing headless Chrome browser with CDP proxy and noVNC interface for browser automation and monitoring.

  1. 🚀 Features
    1. 📦 Getting Started
      1. 1. Build the Docker image
      2. 2. Run the container
      3. 3. Access the workspace
    2. 🧱 Architecture
      1. 🛠️ Example API Requests
        1. 1. Get browser fingerprint
        2. 2. Set network conditions
        3. 3. Get page load metrics
      2. 🧪 Advanced Usage
        1. Custom User-Agent
        2. Add browser extensions
      3. 🧪 Testing the Setup
        1. 🧼 Maintenance
          1. Update dependencies
          2. Clean up old containers

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          An advanced web browsing server enabling headless browser interactions via a secure API, providing features like navigation, content extraction, element interaction, and screenshot capture.
          Last updated -
          6
          20
          Python
          MIT License
        • A
          security
          A
          license
          A
          quality
          An MCP server that provides tools for interacting with Chrome through its DevTools Protocol, enabling remote control of Chrome tabs to execute JavaScript, capture screenshots, monitor network traffic, and more.
          Last updated -
          7
          50
          41
          TypeScript
          MIT License
          • Linux
          • Apple
        • -
          security
          F
          license
          -
          quality
          A web browser automation server that allows AI assistants to control Chrome with persistent state management, enabling complex browsing tasks through asynchronous browser operations.
          Last updated -
          2
          Python
          • Apple
        • -
          security
          A
          license
          -
          quality
          An open-source self-hosted browser agent that provides a dockerized browser environment for AI automation, allowing other AI apps and agents to perform human-like web browsing tasks through natural language instructions.
          Last updated -
          66
          61
          TypeScript
          Apache 2.0

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/krutovvv/browser-mcp'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server