使用说明

项目简介

该项目 'mcp-browser-use' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供浏览器自动化能力。它集成了 'browser-use' 库,使得AI智能体可以通过自然语言指令与网页进行交互,完成各种Web任务,例如信息检索、表单填写、网页操作等。

主要功能点

  • 浏览器控制:支持通过自然语言自动化控制浏览器,包括页面导航、元素点击、文本输入、页面滚动、截图等操作。
  • 智能Agent系统:内置自定义Agent,能够理解用户指令,并将其转化为浏览器操作序列,实现复杂的Web任务。支持基于视觉的元素检测,增强了在复杂网页环境下的操作能力。
  • 灵活配置:支持通过环境变量配置API密钥、模型参数、浏览器设置等,方便用户根据自身需求进行定制。支持多种LLM模型提供商,如Anthropic, OpenAI, Azure, Ollama等。
  • MCP协议兼容:基于 'fastmcp' 框架构建,完全兼容 Model Context Protocol,可以与任何支持MCP协议的LLM客户端(如Claude)无缝集成。

安装步骤

  1. 克隆仓库

    git clone https://github.com/JovaniPink/mcp-browser-use.git
    cd mcp-browser-use
  2. 创建并激活虚拟环境

    python -m venv .venv
    source .venv/bin/activate  # 或根据你的系统使用 .venv\Scripts\activate
  3. 安装依赖

    uv sync

    确保已安装 'uv' (快速Python包管理器)。如果未安装,请先安装 'pip install uv'。

  4. 配置环境变量

    • 复制 '.env.example' 文件并重命名为 '.env'。
    • 根据需要修改 '.env' 文件中的环境变量,例如:
      • 'ANTHROPIC_API_KEY' 或 'OPENAI_API_KEY': LLM API 密钥 (根据你选择的模型提供商配置)。
      • 'CHROME_PATH': Chrome/Chromium 浏览器可执行文件路径 (可选,如果Chrome不在默认路径)。
      • 'MCP_MODEL_PROVIDER': 选择LLM模型提供商,例如 'anthropic', 'openai'。
      • 'MCP_MODEL_NAME': 选择具体的模型名称,例如 'claude-3-5-sonnet-20241022', 'gpt-4o'。
      • 其他配置项如浏览器调试端口、是否保持浏览器会话等,可根据需要调整。
  5. 启动服务器

    uv run mcp-browser-use

    服务器默认将在本地 '8000' 端口启动。

服务器配置

以下是MCP客户端(例如 Claude)连接 'mcp-browser-use' 服务器所需的配置信息(JSON 格式)。你需要将这段配置添加到你的MCP客户端配置中。

{
  "server_name": "mcp_server_browser_use",  // 服务器名称,客户端用于标识
  "command": "uvx",                          // 启动服务器的命令,uvx 用于在虚拟环境中执行
  "args": [                                 // 命令参数
    "mcp-server-browser-use"               //  执行 mcp_browser_use 包中的 server.py 文件
  ],
  "env": {                                  // 环境变量配置,与 .env 文件中的配置相同
    "OPENAI_ENDPOINT": "https://api.openai.com/v1",
    "OPENAI_API_KEY": "",                     //  此处填写你的 OpenAI API Key
    "ANTHROPIC_API_KEY": "",                  //  此处填写你的 Anthropic API Key
    "GOOGLE_API_KEY": "",
    "AZURE_OPENAI_ENDPOINT": "",
    "AZURE_OPENAI_API_KEY": "",
    "ANONYMIZED_TELEMETRY": "false",          //  禁用匿名遥测 (可选)
    "CHROME_PATH": "",                       //  Chrome 浏览器路径 (可选)
    "CHROME_USER_DATA": "",                   //  Chrome 用户数据目录 (可选)
    "CHROME_DEBUGGING_PORT": "9222",          //  Chrome 调试端口,默认 9222
    "CHROME_DEBUGGING_HOST": "localhost",     //  Chrome 调试 Host,默认 localhost
    "CHROME_PERSISTENT_SESSION": "false",     //  是否保持浏览器会话,默认 false
    "MCP_MODEL_PROVIDER": "anthropic",        //  模型提供商,默认 anthropic
    "MCP_MODEL_NAME": "claude-3-5-sonnet-20241022", // 模型名称,默认 claude-3-5-sonnet-20241022
    "MCP_TEMPERATURE": "0.3",                 //  模型温度,默认 0.3
    "MCP_MAX_STEPS": "30",                    //  最大步骤数,默认 30
    "MCP_USE_VISION": "true",                 //  是否使用视觉模型,默认 true
    "MCP_MAX_ACTIONS_PER_STEP": "5",          //  每步最大动作数,默认 5
    "MCP_TOOL_CALL_IN_CONTENT": "true"        //  工具调用是否在内容中,默认 true
  }
}

注意:

  • 请将上述 JSON 配置添加到你的 MCP 客户端的服务器配置中。具体的配置方法请参考你使用的 MCP 客户端的文档 (例如 Claude 客户端的 Smithery 配置)。
  • 确保 '.env' 文件中配置的 API 密钥等信息正确。
  • 启动服务器后,MCP客户端应该能够连接到该服务器并调用其提供的浏览器自动化工具。

基本使用方法

  1. 确保 MCP 服务器已成功启动并运行。

  2. 在你的 MCP 客户端(例如 Claude)中,配置并连接到 'mcp_server_browser_use' 服务器。

  3. 在客户端中,你可以通过自然语言指令指示AI智能体执行浏览器操作。例如,你可以指示Claude:

    • "使用浏览器打开 Google 搜索"
    • "在 Google 搜索框中输入 '最新新闻'"
    • "点击搜索结果中的第一个链接"
    • "提取当前页面的主要内容"

    智能体将通过 'mcp-browser-use' 服务器控制浏览器,执行相应的操作,并将结果返回给客户端。

开发调试

  • 可以使用 MCP Inspector 进行调试,命令如下:
    npx @modelcontextprotocol/inspector uv --directory /path/to/project run mcp-server-browser-use
    将 '/path/to/project' 替换为你的 'mcp-browser-use' 项目路径。

安全提示

请注意,该项目文档中提到了安全风险,由于需要设置 Chrome 浏览器以允许服务器控制,这可能会引入安全隐患。请在非生产环境中使用,并仔细阅读 SECURITY.MD 文件了解详细的安全信息。

信息

分类

网页与API