Provides a persistent Chrome browser instance running in Docker, enabling browser automation through Chrome DevTools Protocol with tools for navigation, screenshots, clicking, typing, scrolling, and mobile testing.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Chrome MCP Dockertake a screenshot of the current page"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Chrome MCP Docker
Persistent Chrome DevTools MCP Server
Stable, persistent Chrome DevTools for AI coding assistants.
Why Docker?
Feature | Official MCP | This |
Session Persistence | ❌ | ✅ |
Docker Stability | ❌ | ✅ |
Mobile Testing | ❌ | ✅ |
Native Interactions | ❌ | ✅ |
Console Logs | ❌ | ✅ |
Host Header Bypass | ❌ | ✅ |
Installation
Option A: Standalone (Recommended)
Works with just Docker - no additional dependencies.
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.
Tools
Tool | What it does |
| Go to URL, wait for load |
| Capture viewport |
| Click element |
| Type into input |
| Scroll page/element |
| Wait for element |
| CSS debugging |
| Failed requests |
| JS console output |
| iPhone X viewport |
Requirements
Docker (one of):
Docker Desktop (Windows/Mac - easiest)
Docker Engine (Linux - see Setup Guide)
Podman (compatible alternative)
Any MCP-compatible client (Claude Code, Cursor, Windsurf, Cline, etc.)
Documentation
Setup Guide - Manual installation, configuration options
Troubleshooting - Common issues and fixes
Architecture - How it works under the hood
How It Works
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
Made with ☕ by null-runner