Playwright MCP Docker Environment
This project provides a Docker Compose environment to run the '@playwright/mcp' server.
iuill
README
Playwright MCP Docker Environment
日本語版はこちら (Japanese version here)
This project provides a Docker Compose environment to run the @playwright/mcp
server. It allows you to easily set up and manage the Playwright MCP server for use with clients like Cline or Cursor.
Prerequisites
- Docker
- Docker Compose
Setup
- Clone the repository:
git clone <repository-url> cd playwright-mcp-docker
- Create
.env
file: Copy the sample environment file:cp .env.sample .env
- Configure
.env
: Edit the.env
file to adjust settings according to your environment and preferences:MCP_HOST_PORT
: The port on the host machine that the MCP server will be accessible through (default:8931
).HEADLESS
: Set totrue
for headless mode (no browser GUI) orfalse
for headed mode (requires GUI setup). Default istrue
.- (Headed Mode Only)
DISPLAY
,WAYLAND_DISPLAY
,XDG_RUNTIME_DIR
: Environment variables needed for GUI applications in Linux environments (especially WSLg). Defaults are provided. - (Headed Mode Only)
X11_HOST_PATH
,WSLG_HOST_PATH
: Host paths for X11 and WSLg sockets/directories. Defaults are provided. Adjust if your system configuration differs. For Windows Docker accessing WSL paths, use the\\wsl.localhost\DistroName\...
format (see.env.sample
).
Running the Server
-
Build and start the container:
docker-compose up --build -d
The
--build
flag is only needed the first time or whenDockerfile
changes. The-d
flag runs the container in detached mode (in the background). -
Configure MCP Client (e.g., VSCode/Cline):
- Add or enable an MCP server named
playwright_sse
(or any name you prefer). - Set the connection type to SSE.
- Set the URL to
http://localhost:<MCP_HOST_PORT>/sse
(replace<MCP_HOST_PORT>
with the value from your.env
file, e.g.,http://localhost:8931/sse
). - Example client configuration (filename depends on the client):
{ "mcpServers": { "playwright_sse": { // Server name is arbitrary "url": "http://localhost:8931/sse" // Match the port number in .env } } }
- Add or enable an MCP server named
Configuration Details
.env
file: Manages environment-specific settings like ports, headless mode, and paths for headed mode.docker-compose.yml
: Defines the Docker service, reads variables from.env
, sets up port mapping and volumes.Dockerfile
: Defines the Docker image, installs@playwright/mcp
and its dependencies (including Chrome).entrypoint.sh
: Script that runs when the container starts, passing the correct arguments (--headless
or--port
) to thenpx @playwright/mcp
command based on theHEADLESS
environment variable.
Switching Modes
- Headless Mode: Set
HEADLESS=true
in.env
. Restart the container:docker-compose up -d
. - Headed Mode: Set
HEADLESS=false
in.env
. Ensure your host environment (e.g., WSLg or X Server) is correctly set up. Restart the container:docker-compose up -d
.
Headed Mode Notes (WSLg)
- If you are using WSLg on Windows, the default settings in
docker-compose.yml
and the WSL2-specific paths in.env.sample
should generally work. Ensure the paths in your.env
match your WSL distribution name if it's notUbuntu
. - If you are not using WSLg (e.g., standard Linux desktop or macOS/Windows with a separate X Server), you will need to adjust the
DISPLAY
variable and potentially the volume mounts (X11_HOST_PATH
) in your.env
file according to your X Server setup.
Stopping the Server
docker-compose down
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.