browser-use MCP server

browser-use MCP server

site icon
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 实例。

适用场景

  • 自动化网页测试
  • 数据抓取和分析
  • 多步网页研究
  • 自然语言驱动的浏览器操作

工具列表

  1. run_browser_agent
  2. 描述:基于自然语言指令执行浏览器自动化任务并等待完成。
  3. 参数
    • task(字符串,必需):主要任务或目标。
    • add_infos(字符串,可选):额外的上下文或提示。
  4. 返回:最终结果或错误消息。

  5. run_deep_search

  6. 描述:对主题进行深度网页研究并生成报告。
  7. 参数
    • research_task(字符串,必需):研究主题或问题。
    • max_search_iterations(整数,可选,默认:10):最大搜索周期。
    • max_query_per_iteration(整数,可选,默认:3):每个周期的最大搜索查询数。
  8. 返回:生成的 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

安装教程

  1. 安装依赖: bash pip install uv uv sync uv run playwright install
  2. 配置 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" } } }

调试方式

  1. 启动 Chrome 并启用远程调试: bash google-chrome --remote-debugging-port=9222
  2. 配置环境变量: dotenv MCP_USE_OWN_BROWSER=true CHROME_CDP=http://localhost:9222
  3. 启动 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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。