Skip to main content
Glama

Browser MCP Server

by krutovvv
README.md2.77 kB
# 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 ```bash docker build -t coder-chrome . ``` ### 2. Run the container ```bash 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 ```bash curl -X POST http://localhost:9223 \ -H "Content-Type: application/json" \ -d '{"method": "Browser.getFingerprint"}' ``` ### 2. Set network conditions ```bash 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 ```bash curl -X POST http://localhost:9223 \ -H "Content-Type: application/json" \ -d '{"method": "Performance.getMetrics"}' ``` ## 🧪 Advanced Usage ### Custom User-Agent ```bash 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: ```python 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: ```bash docker exec -it chrome-workspace ps aux ``` ## 🧼 Maintenance ### Update dependencies ```bash docker build --no-cache -t coder-chrome . ``` ### Clean up old containers ```bash docker rm -f chrome-workspace ```

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