Browser Use Server 使用说明

项目简介

Browser Use Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供网页浏览器自动化能力。通过此服务器,LLM 可以调用预定义的工具来控制浏览器执行各种操作,从而扩展 LLM 在网络信息获取和处理方面的能力。

主要功能点

  • 网页截图 (screenshot): 捕获指定URL网页的屏幕截图,支持全页或视口截图,并可执行截图前的交互步骤。
  • 获取网页HTML (get_html): 获取指定URL网页的HTML源代码,支持在获取HTML前执行用户指定的交互步骤。
  • 执行JavaScript (execute_js): 在指定URL网页上执行用户提供的JavaScript代码,并返回执行结果。
  • 获取控制台日志 (get_console_logs): 获取指定URL网页在加载和交互过程中产生的控制台日志信息。
  • 多步骤操作: 所有工具都支持在打开网页后执行一系列预定义的操作步骤,例如点击元素、滚动页面、填写表单等,以模拟更复杂的用户交互场景。
  • 多LLM支持: 支持多种LLM服务提供商,包括 OpenAI, Google Gemini, DeepSeek, Ollama, Groq, GLHF, OpenRouter, Github等,用户只需配置相应的API密钥即可。
  • Headless 浏览器: 默认使用 Headless 模式运行浏览器,支持 Xvfb 以提升在 Headless 环境下的稳定性和隐蔽性。

安装步骤

  1. 安装 Xvfb (可选但推荐): 用于在无图形界面的服务器上运行浏览器,提高稳定性和避免被识别为机器人。

    # Ubuntu/Debian
    sudo apt-get install xvfb

    (其他Linux发行版的安装命令请参考仓库 README)

  2. 安装 Miniconda 或 Anaconda: 用于创建和管理Python环境。

  3. 创建 Conda 环境并安装依赖:

    conda create -n browser-use python=3.11
    conda activate browser-use
    # 注意:仓库README中此处为 'pip install browser-use',但根据仓库内容,
    # 此命令可能无法安装当前仓库的代码,建议改为从源码安装,或者此步骤可能为误导,
    # 实际运行可能不需要额外pip安装,conda环境仅用于运行python脚本依赖。
    # 如果后续运行报错缺少 browser-use 库,再尝试 pip install browser-use
  4. 克隆 GitHub 仓库:

    git clone https://github.com/ztobs/cline-browser-use-mcp
    cd cline-browser-use-mcp
  5. 安装 Node.js 依赖并构建项目:

    npm install
    npm run build
  6. 配置 LLM API 密钥: 设置环境变量,至少需要配置一个LLM API密钥,支持以下密钥:'GLHF_API_KEY', 'GROQ_API_KEY', 'OPENAI_API_KEY', 'OPENROUTER_API_KEY', 'GITHUB_API_KEY', 'DEEPSEEK_API_KEY', 'GEMINI_API_KEY', 'OLLAMA_API_KEY'。 例如:

    export OPENAI_API_KEY=YOUR_OPENAI_API_KEY

    (可选) 可以设置 'MODEL' 和 'BASE_URL' 环境变量来覆盖默认的LLM模型和API Endpoint。

服务器配置

以下 JSON 配置信息用于 MCP 客户端 (如 Cline) 连接 Browser Use Server。请根据实际安装路径修改 'args' 中的路径。

{
  "browser-use": {
    "command": "node",
    "args": [
      "/path/to/cline-browser-use-mcp/build/index.js"  // 修改为实际的index.js文件路径
    ],
    "env": {
      // 必须设置至少一个 LLM API 密钥
      "GLHF_API_KEY": "YOUR_GLHF_API_KEY",        // (可选,根据你使用的LLM服务配置)
      "GROQ_API_KEY": "YOUR_GROQ_API_KEY",        // (可选,根据你使用的LLM服务配置)
      "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY",      // (可选,根据你使用的LLM服务配置)
      "OPENROUTER_API_KEY": "YOUR_OPENROUTER_API_KEY", // (可选,根据你使用的LLM服务配置)
      "GITHUB_API_KEY": "YOUR_GITHUB_API_KEY",      // (可选,根据你使用的LLM服务配置)
      "DEEPSEEK_API_KEY": "YOUR_DEEPSEEK_API_KEY",    // (可选,根据你使用的LLM服务配置)
      "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY",      // (可选,根据你使用的LLM服务配置)
      "OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY"       // (可选,根据你使用的LLM服务配置)
      // 可选配置,用于覆盖默认模型或 API Endpoint
      // "MODEL": "your_preferred_model",
      // "BASE_URL": "your_custom_url",
      // "USE_VISION": "false" // 启用 vision 能力,默认为 false
    },
    "disabled": false,
    "autoApprove": []
  }
}

注意:

  • 将 '/path/to/cline-browser-use-mcp' 替换为实际的 'cline-browser-use-mcp' 仓库在您系统中的绝对路径。
  • 根据您希望使用的 LLM 服务,填写至少一个对应的 API 密钥到 'env' 的配置中。

基本使用方法

  1. 启动服务器: 打开终端,进入 'cline-browser-use-mcp' 仓库目录,运行以下命令启动服务器:

    node build/index.js

    服务器成功启动后,会在终端输出 'Browser Use MCP server running on stdio'。

  2. 在 MCP 客户端 (如 Cline) 中配置并连接服务器: 将上述 “服务器配置” JSON 代码添加到您的 MCP 客户端配置中,并确保客户端已连接到 Browser Use Server。

  3. 通过 MCP 客户端调用工具: 在 MCP 客户端中,可以使用 'screenshot', 'get_html', 'execute_js', 'get_console_logs' 等工具,并根据工具的输入参数 (例如 'url', 'steps', 'script' 等) 发起调用,控制浏览器执行相应的操作。具体工具参数和使用方法请参考仓库 README 或工具的描述信息。

示例 Cline 使用: 在 Cline 中,您可以像 README 示例中那样,使用自然语言指令结合 'browser-use' 服务器来操作网页,例如: 'Take a screenshot of https://www.example.com after clicking the "Login" button.'

信息

分类

网页与API