BrowserClaw — Browser Automation with MCP in Docker
92
Run BrowserClaw in a Docker container with a graphical XFCE desktop, remote VNC access, and Model Context Protocol (MCP) integration for AI agents.
Create a project directory:
mkdir browserclaw
cd browserclaw
Create compose.yaml:
services:
browserclaw:
image: techthinkerorg/browserclaw:v0.51.2
container_name: browserclaw
restart: always
extra_hosts:
- "host.docker.internal:host-gateway"
ports:
- "9210:9210"
- "5901:5901"
environment:
VNC_PASSWORD: "${VNC_PASSWORD}"
VNC_RESOLUTION: "1280x800"
VNC_DEPTH: "24"
Create a .env file in the same directory:
VNC_PASSWORD=change-this-password
Replace the example password with your own password. Do not commit .env to version control.
Start BrowserClaw:
docker compose pull
docker compose up -d
Check the container status and logs:
docker compose ps
docker compose logs -f browserclaw
Pull the image:
docker pull techthinkerorg/browserclaw:v0.51.2
Run the container:
docker run -d \
--name browserclaw \
--restart always \
--add-host host.docker.internal:host-gateway \
-p 9210:9210 \
-p 5901:5901 \
-e VNC_PASSWORD='change-this-password' \
-e VNC_RESOLUTION=1280x800 \
-e VNC_DEPTH=24 \
techthinkerorg/browserclaw:v0.51.2
Check the logs:
docker logs -f browserclaw
To stop or restart the container:
docker stop browserclaw
docker start browserclaw
Once the container is running, open your VNC client and connect to the Docker host.
| Setting | Value |
|---|---|
| Host | Docker host IP address |
| Port | 5901 |
| Password | Value configured in VNC_PASSWORD |
| Default resolution | 1280x800 |
| Color depth | 24 |
If Docker is running on your local computer, connect to:
127.0.0.1:5901
If Docker is running on a remote server, use that server's IP address and port 5901.
After connecting through VNC:
BrowserClaw exposes its MCP endpoint on port 9210.
The published endpoint is:
http://localhost:9210
For a remote Docker host, replace localhost with the server's IP address or hostname:
http://YOUR_SERVER_IP:9210
Use the exact MCP URL and transport shown in BrowserClaw's MCP settings. If the application displays a path such as /mcp, include that path in the client configuration.
For an MCP client that supports remote HTTP MCP servers, a typical configuration is:
{
"mcpServers": {
"browserclaw": {
"url": "http://127.0.0.1:9210"
}
}
}
If BrowserClaw shows a different endpoint path, update the URL accordingly. Check your AI agent's documentation for its exact configuration format and supported MCP transport.
After configuring the MCP server:
If the AI agent runs in Docker, place both services on the same Docker network.
The AI agent can then connect using the BrowserClaw container name:
http://browserclaw:9210
Use the MCP endpoint path displayed by BrowserClaw if required.
| Variable | Default | Description |
|---|---|---|
VNC_PASSWORD | Required | Password used for VNC authentication |
VNC_RESOLUTION | 1280x800 | Virtual desktop resolution |
VNC_DEPTH | 24 | Display color depth |
Example configuration:
environment:
VNC_PASSWORD: "${VNC_PASSWORD}"
VNC_RESOLUTION: "1600x900"
VNC_DEPTH: "24"
The container exposes these host ports:
| Port | Purpose |
|---|---|
5901 | VNC remote desktop |
9210 | BrowserClaw MCP endpoint |
docker ps
docker logs --tail 200 browserclaw
docker exec browserclaw ss -lntp
Confirm that the VNC and MCP services are listening on their expected ports.
5901 is published.9210 is published and reachable..env files containing passwords.GNU Affero General Public License v3.0
Content type
Image
Digest
sha256:beae1639c…
Size
435.1 MB
Last updated
about 17 hours ago
docker pull techthinkerorg/browserclaw:v0.52.1