browser-use-mcp-server
一个能让AI代理通过browser-use控制浏览器的MCP服务器。
🌐 想要体验浏览器浏览网页? 开源AI驱动的网页浏览器 - Vibe浏览器
🔗 管理多个MCP服务器? 通过agent-browser简化你的开发工作流
前置条件
- uv - 快速Python包管理器
- Playwright - 浏览器自动化
- mcp-proxy - stdio模式所需
# 安装前置条件
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install mcp-proxy
uv tool update-shell
环境
创建一个.env文件:
OPENAI_API_KEY=your-api-key
CHROME_PATH=optional/path/to/chrome
PATIENT=false # 如果API调用应该等待任务完成,则设为true
安装
# 安装依赖
uv sync
uv pip install playwright
uv run playwright install --with-deps --no-shell chromium
使用
SSE模式
# 直接从源码运行
uv run server --port 8000
stdio模式
# 1. 构建并全局安装
uv build
uv tool uninstall browser-use-mcp-server 2>/dev/null || true
uv tool install dist/browser_use_mcp_server-*.whl
# 2. 使用stdio传输运行
browser-use-mcp-server run server --port 8000 --stdio --proxy-port 9000
客户端配置
SSE模式客户端配置
{
"mcpServers": {
"browser-use-mcp-server": {
"url": "http://localhost:8000/sse"
}
}
}
stdio模式客户端配置
{
"mcpServers": {
"browser-server": {
"command": "browser-use-mcp-server",
"args": [
"run",
"server",
"--port",
"8000",
"--stdio",
"--proxy-port",
"9000"
],
"env": {
"OPENAI_API_KEY": "your-api-key"
}
}
}
}
配置位置
| 客户端 | 配置路径 |
|---|---|
| Cursor | ./.cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Claude (Mac) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
功能
- 浏览器自动化: 通过AI代理控制浏览器
- 双重传输: 支持SSE和stdio协议
- VNC流式传输: 实时观看浏览器自动化
- 异步任务: 异步执行浏览器操作
本地开发
要在本地开发和测试该包:
-
构建可分发的轮子:
# 从项目根目录 uv build -
作为全局工具安装:
uv tool uninstall browser-use-mcp-server 2>/dev/null || true uv tool install dist/browser_use_mcp_server-*.whl -
从任何目录运行:
# 为当前会话设置你的OpenAI API密钥 export OPENAI_API_KEY=your-api-key-here # 或者为一次性运行提供内联值 OPENAI_API_KEY=your-api-key-here browser-use-mcp-server run server --port 8000 --stdio --proxy-port 9000 -
更改后,重新构建和安装:
uv build uv tool uninstall browser-use-mcp-server uv tool install dist/browser_use_mcp_server-*.whl
Docker
使用Docker为运行服务器提供一致且隔离的环境。
# 构建Docker镜像
docker build -t browser-use-mcp-server .
# 运行容器,默认VNC密码("browser-use")
# --rm确保容器在停止时自动移除
# -p 8000:8000映射服务器端口
# -p 5900:5900映射VNC端口
docker run --rm -p8000:8000 -p5900:5900 browser-use-mcp-server
# 使用自定义VNC密码(从文件读取)
# 创建一个文件(如vnc_password.txt)只包含你想要的密码
echo "your-secure-password" > vnc_password.txt
# 将密码文件作为密钥挂载到容器内
docker run --rm -p8000:8000 -p5900:5900 \
-v $(pwd)/vnc_password.txt:/run/secrets/vnc_password:ro \
browser-use-mcp-server
注意:卷挂载(-v)中的:ro标志使密码文件在容器内为只读,以增加安全性。
VNC查看器
# 基于浏览器的查看器
git clone https://github.com/novnc/noVNC
cd noVNC
./utils/novnc_proxy --vnc localhost:5900
默认密码:browser-use(除非使用自定义密码方法覆盖)
示例
尝试询问你的AI:
打开https://news.ycombinator.com并返回排名最高的文章
支持
如有问题或咨询:cobrowser.xyz