Sign inSign up

nullrunner/chrome-mcp-docker

By nullrunner

Updated 10 months ago

Persistent Chrome DevTools MCP Server - Docker-based, 10 tools, works with any MCP client

Image
Machine learning & AI
Developer tools
0

3.5K

nullrunner/chrome-mcp-docker repository overview

Chrome MCP Docker

Persistent Chrome DevTools MCP Server

Docker Hub License MCP

Stable, persistent Chrome DevTools for AI coding assistants.


Why Docker?

FeatureOfficial MCPThis
Session Persistence
Docker Stability
Mobile Testing
Native Interactions
Console Logs
Host Header Bypass

Installation

Works with just Docker - no additional dependencies.

# 1. Start Chrome container
docker run -d --name chrome-persistent --restart unless-stopped \
  -p 9222:9222 --shm-size=2g \
  zenika/alpine-chrome:with-puppeteer \
  --no-sandbox --remote-debugging-address=0.0.0.0 \
  --remote-debugging-port=9222 --disable-gpu --headless

# 2. Add to Claude Code (~/.claude.json)
{
  "mcpServers": {
    "chrome": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "--network", "host",
               "-e", "CHROME_HOST=localhost", "-e", "CHROME_PORT=9222",
               "nullrunner/chrome-mcp-docker:latest"]
    }
  }
}
Option B: Docker MCP Gateway

Warning: The official Docker MCP Gateway has bugs affecting custom servers. See Known Issues. Use Option A or the patched fork below.

# Use patched fork (recommended if you want Gateway)
git clone https://github.com/null-runner/mcp-gateway.git
cd mcp-gateway && go build -o docker-mcp ./cmd/docker-mcp

# Then setup chrome-mcp-docker
git clone https://github.com/null-runner/chrome-mcp-docker.git
cd chrome-mcp-docker
./setup.sh

Tools

ToolWhat it does
navigateGo to URL, wait for load
screenshotCapture viewport
clickClick element
typeType into input
scrollScroll page/element
wait_for_selectorWait for element
get_computed_stylesCSS debugging
get_network_errorsFailed requests
get_console_logsJS console output
mobile_modeiPhone X viewport

Requirements

  • Docker (one of):
  • Any MCP-compatible client (Claude Code, Cursor, Windsurf, Cline, etc.)

Documentation


How It Works

AI Coding Assistant (Claude, Cursor, etc.)
    ↓
chrome-mcp-docker (MCP Server)
    ↓
Chrome DevTools Protocol
    ↓
Persistent Chrome Browser (Docker)

The key innovation: Host Header Bypass. Chrome rejects connections from Docker containers because host.docker.internal isn't localhost. This server spoofs the header.


Known Issues

Docker MCP Gateway has several open bugs affecting custom servers:

  • PR #263 - Tool name prefix separator (:__)
  • PR #278 - Prefixed names sent to remote servers
  • PR #279 - Claude clients excluded from tool activation

Recommendation: Use standalone installation (Option A) until these PRs are merged.


License

MIT


Tag summary

Content type

Image

Digest

sha256:20840c0a2

Size

84 MB

Last updated

10 months ago

docker pull nullrunner/chrome-mcp-docker