Browser Use MCP服务器使用说明

项目简介

Browser Use MCP服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,专注于AI驱动的浏览器自动化。它允许大型语言模型(LLM)通过标准化的MCP协议,以自然语言指令远程控制和操作浏览器,从而实现各种网页交互和自动化任务。该服务器的核心功能在于将浏览器操作能力封装成易于LLM调用的工具,使得LLM能够像人类一样浏览网页、填写表单、点击元素、提取信息,并进行更复杂的网络任务。

主要功能点

  • MCP协议集成: 完全实现了Model Context Protocol,能够与任何兼容MCP协议的LLM客户端进行通信。
  • 浏览器自动化: 提供全面的浏览器自动化能力,包括页面导航、元素点击、文本输入、表单填写等,支持模拟用户在浏览器中的各种操作。
  • 可视化理解: 支持截图分析和基于视觉的交互,使LLM能够理解网页的视觉布局,并进行更精确的元素定位和操作。(需要配置 'MCP_USE_VISION=true')
  • 会话持久化: 支持维护浏览器会话状态,允许在不同任务之间保持浏览器上下文,提高效率和连贯性。
  • 多LLM支持: 兼容多种主流LLM服务提供商,包括OpenAI, Anthropic, Azure OpenAI, DeepSeek, Gemini, Mistral, Ollama 和 OpenRouter,可以根据需求灵活配置。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.11 或更高版本。
    • 推荐使用 'uv' 作为快速的Python包管理器(可以使用 'pip install uv' 安装)。
    • 确保已安装 Chrome 或 Chromium 浏览器。
  2. 配置MCP服务器:

    • Claude 桌面客户端集成 (MacOS/Windows):

      • 找到 Claude 桌面客户端的配置文件 'claude_desktop_config.json':
        • MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
        • Windows: '%APPDATA%/Claude/claude_desktop_config.json'
      • 编辑该文件,在 '"mcpServers"' 字段下添加 "browser-use" 服务器配置。
    • 本地开发或集成其他MCP客户端:

      • 下载或克隆 'mcp-browser-use' 仓库到本地。
      • 根据需要修改配置文件或环境变量。

服务器配置 (JSON)

以下 JSON 配置信息用于 MCP 客户端(例如 Claude 桌面客户端)连接和启动 Browser Use MCP 服务器。请根据您的实际使用场景选择合适的配置,并将以下 JSON 代码块添加到 MCP 客户端的服务器配置中。

Claude 桌面客户端配置示例:

{
  "server name": "browser-use",  //  服务器名称,在客户端中用于标识和选择
  "command": "uvx",  //  启动服务器的命令,这里使用 uvx (uv 虚拟环境执行器)
  "args": [  //  传递给命令的参数列表
    "mcp-server-browser-use"  //  实际执行的服务器程序入口点
  ],
  "env": {  //  环境变量配置,用于服务器运行时读取
    "OPENROUTER_API_KEY": "",  //  OpenRouter API 密钥 (如果使用 OpenRouter 模型)
    "OPENROUTER_ENDPOINT": "https://openrouter.ai/api/v1",  //  OpenRouter API Endpoint (可选,默认值)
    "OPENAI_ENDPOINT": "https://api.openai.com/v1",  //  OpenAI API Endpoint (可选,默认值)
    "OPENAI_API_KEY": "",  //  OpenAI API 密钥 (如果使用 OpenAI 模型)
    "ANTHROPIC_ENDPOINT": "https://api.anthropic.com",  //  Anthropic API Endpoint (可选,默认值)
    "ANTHROPIC_API_KEY": "",  //  Anthropic API 密钥 (如果使用 Anthropic 模型)
    "GOOGLE_API_KEY": "",  //  Google API 密钥 (如果使用 Gemini 模型)
    "AZURE_OPENAI_ENDPOINT": "",  //  Azure OpenAI API Endpoint (如果使用 Azure OpenAI 模型)
    "AZURE_OPENAI_API_KEY": "",  //  Azure OpenAI API 密钥 (如果使用 Azure OpenAI 模型)
    "DEEPSEEK_ENDPOINT": "https://api.deepseek.com",  //  DeepSeek API Endpoint (可选,默认值)
    "DEEPSEEK_API_KEY": "",  //  DeepSeek API 密钥 (如果使用 DeepSeek 模型)
    "MISTRAL_API_KEY": "",  //  Mistral API 密钥 (如果使用 Mistral 模型)
    "MISTRAL_ENDPOINT": "https://api.mistral.ai/v1",  //  Mistral API Endpoint (可选,默认值)
    "OLLAMA_ENDPOINT": "http://localhost:11434",  //  Ollama API Endpoint (可选,默认 localhost:11434)
    "ANONYMIZED_TELEMETRY": "true",  //  是否启用匿名遥测 (true/false)
    "BROWSER_USE_LOGGING_LEVEL": "info",  //  日志级别 (info, debug, warning, error, critical)
    "CHROME_PATH": "",  //  Chrome/Chromium 浏览器可执行文件路径 (可选,如果系统无法自动找到)
    "CHROME_USER_DATA": "",  //  Chrome 用户数据目录 (可选)
    "CHROME_DEBUGGING_PORT": "9222",  //  Chrome 调试端口 (默认 9222)
    "CHROME_DEBUGGING_HOST": "localhost",  //  Chrome 调试主机 (默认 localhost)
    "CHROME_PERSISTENT_SESSION": "false",  //  是否保持 Chrome 会话持久性 (true/false)
    "BROWSER_HEADLESS": "false",  //  是否以无头模式运行浏览器 (true/false)
    "BROWSER_DISABLE_SECURITY": "false",  //  是否禁用浏览器安全特性 (true/false)
    "BROWSER_WINDOW_WIDTH": "1280",  //  浏览器窗口宽度 (默认 1280)
    "BROWSER_WINDOW_HEIGHT": "720",  //  浏览器窗口高度 (默认 720)
    "BROWSER_TRACE_PATH": "trace.json",  //  Playwright 跟踪文件路径 (可选)
    "BROWSER_RECORDING_PATH": "recording.mp4",  //  浏览器录制视频文件路径 (可选)
    "RESOLUTION": "1920x1080x24",  //  屏幕分辨率 (默认 1920x1080x24)
    "RESOLUTION_WIDTH": "1920",  //  屏幕宽度 (默认 1920)
    "RESOLUTION_HEIGHT": "1080",  //  屏幕高度 (默认 1080)
    "VNC_PASSWORD": "youvncpassword",  //  VNC 密码 (如果启用 VNC)
    "MCP_MODEL_PROVIDER": "anthropic",  //  默认 LLM 提供商 (anthropic, openai, azure_openai, deepseek, gemini, mistral, ollama, openrouter)
    "MCP_MODEL_NAME": "claude-3-5-sonnet-20241022",  //  默认 LLM 模型名称
    "MCP_TEMPERATURE": "0.3",  //  LLM 温度参数 (默认 0.3)
    "MCP_MAX_STEPS": "30",  //  最大 Agent 步骤数 (默认 30)
    "MCP_USE_VISION": "true",  //  是否启用视觉功能 (true/false)
    "MCP_MAX_ACTIONS_PER_STEP": "5",  //  每步最大动作数 (默认 5)
    "MCP_TOOL_CALL_IN_CONTENT": "true"  //  工具调用是否在内容中 (true/false)
  }
}

本地开发配置示例:

{
  "server name": "browser-use",  // 服务器名称
  "command": "uv",  // 启动命令,这里使用 uv (uv 虚拟环境执行器)
  "args": [  // 命令参数列表
    "--directory",  // 指定工作目录参数
    "/path/to/mcp-browser-use",  //  替换为 mcp-browser-use 仓库的本地路径
    "run",  //  uv run 命令
    "mcp-server-browser-use"  //  实际执行的服务器程序入口点
  ],
  "env": {  // 环境变量配置 (同 Claude 桌面客户端配置示例)
    ... //  其他环境变量配置,请参考 Claude 桌面客户端配置示例
  }
}

注意:

  • 请将 '/path/to/mcp-browser-use' 替换为 'mcp-browser-use' 仓库在您本地机器上的实际路径。
  • 'uvx' 命令适用于已安装 'uv' 并添加到系统环境变量的情况。如果 'uvx' 命令不可用,请尝试直接使用 'uv run mcp-server-browser-use' 命令。
  • 环境变量 'env' 中的配置项可以根据您的需求进行调整,例如 API 密钥、模型选择、浏览器设置等。

基本使用方法

  1. 确保 Browser Use MCP 服务器已成功配置并启动。
  2. 在兼容 MCP 协议的 LLM 客户端中,选择 "browser-use" 服务器。
  3. LLM 客户端将通过 MCP 协议与 Browser Use MCP 服务器通信,发送自然语言指令。
  4. Browser Use MCP 服务器解析指令,控制浏览器执行相应的自动化操作。
  5. 服务器将执行结果和浏览器状态信息通过 MCP 协议返回给 LLM 客户端。

例如,您可以指示 LLM 客户端执行以下任务:

  • "使用浏览器搜索最新的AI新闻。"
  • "在亚马逊网站上查找并购买价格低于100美元的智能手表。"
  • "打开Youtube网站,播放最新的音乐视频。"
  • "访问指定的网页,并提取页面上的所有文本内容。"

LLM 客户端会将这些自然语言指令转换为 MCP 请求,发送给 Browser Use MCP 服务器,服务器则会驱动浏览器完成相应的操作,并将结果返回给 LLM 客户端,最终以自然语言形式呈现给用户。

信息

分类

网页与API