
browser-use MCP server

2025.04.11
402
Python浏览器自动化AI驱动浏览器自动化
mcp-browser-use 是一个基于 Model Context Protocol (MCP) 的 AI 驱动浏览器自动化服务器,旨在通过自然语言控制实现网页导航、表单填写、元素交互等浏览器操作。该服务器支持多 LLM 提供商集成,并提供深度网页研究工具,适用于自动化测试、数据抓取、网页研究等场景。
View on GitHub
Overview
基本能力
产品定位
mcp-browser-use 是一个 AI 驱动的浏览器自动化服务器,通过自然语言指令实现网页操作和深度研究。
核心功能
- MCP 集成:完整实现 Model Context Protocol,支持 AI 代理通信。
- 浏览器自动化:通过自然语言指令实现页面导航、表单填写、元素交互(
run_browser_agent
工具)。 - 视觉理解:可选截图分析功能,支持视觉能力的 LLM。
- 状态持久化:支持跨多个 MCP 调用管理浏览器会话或连接到用户浏览器。
- 多 LLM 支持:集成 OpenAI、Anthropic、Azure、DeepSeek、Google、Mistral、Ollama、OpenRouter、Alibaba、Moonshot、Unbound AI 等。
- 深度研究工具:专用于多步网页研究和报告生成的工具(
run_deep_search
工具)。 - 环境变量配置:完全通过环境变量配置。
- CDP 连接:支持通过 Chrome DevTools Protocol 连接和控制用户启动的 Chrome/Chromium 实例。
适用场景
- 自动化网页测试
- 数据抓取和分析
- 多步网页研究
- 自然语言驱动的浏览器操作
工具列表
run_browser_agent
- 描述:基于自然语言指令执行浏览器自动化任务并等待完成。
- 参数:
task
(字符串,必需):主要任务或目标。add_infos
(字符串,可选):额外的上下文或提示。
-
返回:最终结果或错误消息。
-
run_deep_search
- 描述:对主题进行深度网页研究并生成报告。
- 参数:
research_task
(字符串,必需):研究主题或问题。max_search_iterations
(整数,可选,默认:10):最大搜索周期。max_query_per_iteration
(整数,可选,默认:3):每个周期的最大搜索查询数。
- 返回:生成的 Markdown 格式研究报告或错误消息。
常见问题解答
- 浏览器冲突:如果不使用
CHROME_CDP
,确保没有其他 Chrome 实例使用相同的用户数据目录。 - CDP 连接问题:
- 确保 Chrome 已启用
--remote-debugging-port
标志。 - 确保
CHROME_CDP
端口与启动 Chrome 时使用的端口匹配。 - 检查防火墙是否阻止连接。
- API 错误:检查 API 密钥和环境变量是否正确设置。
- 视觉问题:确保
MCP_USE_VISION=true
且所选 LLM 模型支持视觉。 - 依赖问题:运行
uv sync
确保所有依赖项正确安装。
使用教程
使用依赖
- Python 3.11 或更高版本
uv
(快速 Python 包安装工具):pip install uv
- 安装 Chrome/Chromium 浏览器
- 安装 Playwright 浏览器:
uv sync
然后uv run playwright install
安装教程
- 安装依赖:
bash pip install uv uv sync uv run playwright install
- 配置 MCP 客户端(如 Claude Desktop):
json "mcpServers": { "browser-use": { "command": "uvx", "args": ["mcp-server-browser-use"], "env": { "OPENAI_API_KEY": "YOUR_KEY_HERE_IF_USING_OPENAI", "ANTHROPIC_API_KEY": "YOUR_KEY_HERE_IF_USING_ANTHROPIC" } } }
调试方式
- 启动 Chrome 并启用远程调试:
bash google-chrome --remote-debugging-port=9222
- 配置环境变量:
dotenv MCP_USE_OWN_BROWSER=true CHROME_CDP=http://localhost:9222
- 启动 MCP 服务器:
bash uv run mcp-server-browser-use
开发
uv sync --dev
uv run playwright install
npx @modelcontextprotocol/inspector@latest \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
-e MCP_MODEL_PROVIDER=anthropic \
-e MCP_MODEL_NAME=claude-3-7-sonnet-20250219 \
-e MCP_USE_OWN_BROWSER=true \
-e CHROME_CDP=http://localhost:9222 \
uv --directory . run mcp run src/mcp_server_browser_use/server.py