简介
MCP(Multi-Control Protocol)服务器是一种允许AI代理控制浏览器的工具,通过使用browser-use
包实现浏览器自动化。它支持两种传输模式:SSE(Server-Sent Events)和stdio。
基础知识点
- 浏览器自动化:使用Playwright等工具来控制浏览器的行为,如打开网页、点击按钮等。
- MCP协议:一种用于AI代理与浏览器之间通信的协议,支持SSE和stdio两种传输方式。
- VNC流媒体:允许实时观看浏览器自动化过程。
安装步骤
1. 安装依赖
首先,需要安装uv
工具和mcp-proxy
:
bash
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install mcp-proxy
uv tool update-shell
2. 配置环境
创建一个.env
文件,设置必要的环境变量:
bash
OPENAI_API_KEY=your-api-key
CHROME_PATH=optional/path/to/chrome
PATIENT=false # 设置为true时,API调用将等待任务完成
3. 安装依赖包
使用uv
安装必要的Python包:
bash
uv sync
uv pip install playwright
uv run playwright install --with-deps --no-shell chromium
运行服务器
SSE模式
直接从源代码运行服务器:
bash
uv run server --port 8000
stdio模式
- 构建并安装全局包:
bash
uv build
uv tool uninstall browser-use-mcp-server 2>/dev/null || true
uv tool install dist/browser_use_mcp_server-*.whl
- 运行服务器:
bash
browser-use-mcp-server run server --port 8000 --stdio --proxy-port 9000
客户端配置
SSE模式客户端配置
json
{
"mcpServers": {
"browser-use-mcp-server": {
"url": "http://localhost:8000/sse"
}
}
}
stdio模式客户端配置
json
{
"mcpServers": {
"browser-server": {
"command": "browser-use-mcp-server",
"args": [
"run",
"server",
"--port",
"8000",
"--stdio",
"--proxy-port",
"9000"
],
"env": {
"OPENAI_API_KEY": "your-api-key"
}
}
}
}
Docker部署
使用Docker可以提供一个一致且隔离的环境来运行服务器。
构建Docker镜像
perl
bash
docker build -t browser-use-mcp-server .
运行容器
bash
docker run --rm -p8000:8000 -p5900:5900 browser-use-mcp-server
自定义VNC密码
创建一个包含密码的文件,然后将其挂载到容器中:
bash
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
VNC查看器
使用noVNC作为浏览器查看器:
bash
git clone https://github.com/novnc/noVNC
cd noVNC
./utils/novnc_proxy --vnc localhost:5900
默认密码为browser-use
,除非使用自定义密码方法覆盖。
示例用法
尝试使用AI代理打开网页并获取顶级文章:
bash
open https://news.ycombinator.com and return the top ranked article