浏览器自动化服务器

提供浏览器自动化能力的Docker容器服务,支持无头模式和VNC调试模式,适用于AI助手和开发测试场景。

  • by AndrewJDawes
  • Dockerfile
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 AndrewJDawes/browser-use-mcp-server

使用说明

浏览器使用MCP服务器

此存储库包含用于运行具有不同浏览器模式的浏览器使用MCP服务器的Docker配置。

概述

浏览器使用MCP服务器为Claude Desktop等AI助手提供浏览器自动化功能。此设置为不同的用例提供了无头和VNC启用模式。

可用模式

1.无头模式(生产)

  • 无可视界面
  • 资源使用率最低
  • 非常适合生产部署
  • 后缀 -headless 到图像标签
  • 例子: ghcr.io/andrewjedawes/browser-use-mcp-server:latest-headless

2.VNC模式(调试)

  • 通过VNC的可视化浏览器界面
  • 非常适合调试和开发
  • 实时查看浏览器
  • 后缀 -vnc 到图像标签
  • 例子: ghcr.io/andrewjedawes/browser-use-mcp-server:latest-vnc

环境配置

适用于Cursor/Claude桌面

创建MCP服务器配置:

VNC:

{
	"servers": {
		"browser-use-mcp-server-vnc": {
			"command": "docker",
			"args": [
				"run",
				"-i",
				"--rm",
				"-p",
				"5900:5900",
				"-e",
				"GOOGLE_API_KEY",
				"ghcr.io/andrewjdawes/browser-use-mcp-server:latest-vnc"
			],
			"env": {
				"GOOGLE_API_KEY": "your_google_api_key_here"
			}
		}
	}
}

无头:

{
	"servers": {
		"browser-use-mcp-server-headless": {
			"command": "docker",
			"args": [
				"run",
				"-i",
				"--rm",
				"-e",
				"GOOGLE_API_KEY",
				"ghcr.io/andrewjdawes/browser-use-mcp-server:latest-headless"
			],
			"env": {
				"GOOGLE_API_KEY": "YOUR_API_KEY"
			}
		}
	}
}

环境变量

  • DISPLAY:VNC模式X11显示(自动设置)

VNC访问

使用VNC模式时:

  • 统一资源定位符: vnc://localhost:5900
  • 密码: browseruse
  • 决心:1024x768

VNC客户端:

  • macOS:内置屏幕共享或TigerVNC
  • 视窗:TigerVNC、RealVNC或UltraVNC
  • Linux:Remmina、TigerVNC或基于浏览器的客户端

运作原理

  1. MCP通信:容器运行时 -i stdin/stdout通信标志
  2. 浏览器会话:Playwright在容器中启动Chromium
  3. VNC访问:X11转发允许您查看浏览器的运行情况
  4. 双模式:相同的MCP服务器,不同的可见性选项

故障排除

如果您遇到问题:

  1. 重建图像 要获取最新修复程序:

  2. 验证容器是否正常工作:

    docker run --rm ghcr.io/andrewjdawes/browser-use-mcp-server:latest-headless python -c "from browser_use import BrowserSession; print('Browser-use working!')"
    

浏览器未启动

# Check if the container is running
docker ps
# Check logs
docker logs <container_id>

替换 <container_id> 具有来自的实际容器ID docker ps.

VNC连接问题

# Test VNC port
nc -zv localhost 5900
# Check if VNC server is running in container
docker exec <container_id> ps aux | grep vnc

替换 <container_id> 具有来自的实际容器ID docker ps.

建筑

MCP Client (Claude Desktop)
    ↓ (stdin/stdout)
Docker Container
    ├── MCP Server (browser-use CLI)
    ├── Playwright
    ├── Chromium Browser
    └── VNC Server (optional)
        ↓ (port 5900)
VNC Client (for debugging)

用例

无头模式:

  • 生产MCP服务器
  • 自动化工作流程
  • 资源受限的环境

VNC模式:

  • 调试浏览器自动化
  • 开发和测试
  • 浏览器操作的视觉验证
  • 演示浏览器功能

替代方案

选项3:X11转发(Linux/macOS)

# Linux
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix browser-use-mcp-server:latest

# macOS (with XQuartz)
xhost +localhost
docker run -it --rm -e DISPLAY=host.docker.internal:0 browser-use-mcp-server:latest