项目简介

'mcp_browser_use' 是一个基于 Model Context Protocol (MCP) 的服务器端实现,旨在赋能 AI 代理进行网页使用、浏览器自动化、数据抓取和网页交互。它通过与 Selenium 结合,让 AI 能够以自然语言指令完成各种网页任务。该服务器的独特之处在于支持多个 AI 代理同时访问同一个浏览器配置文件,但每个代理都能获得独立的浏览器窗口,互不干扰,从而实现了多代理场景下的无缝协作。

主要功能点

  • 多代理、多窗口支持: 允许多个 AI 代理独立连接并使用同一个浏览器配置文件。每个代理会被分配一个独立的浏览器窗口,它们之间互不干扰,无需为每个代理启动单独的浏览器实例。
  • HTML 内容优化: 提供 HTML 截断和清理功能,智能管理返回给 AI 的网页内容大小,防止上下文窗口溢出,并提高 AI 处理网页信息的效率。
  • 丰富的浏览器操作: 包含一套全面的工具,支持启动/关闭浏览器会话、导航到指定 URL、点击网页元素、在输入框中填写文本、模拟键盘按键(如 Enter、Tab)、页面滚动、截取页面快照、管理浏览器 Cookie、调试元素属性等。
  • 会话及窗口管理: 自动检测并清理因崩溃或无响应的代理留下的僵尸浏览器窗口,确保系统资源高效利用和稳定运行。

安装步骤

  1. 克隆仓库: 将项目仓库克隆到您的本地计算机。

    git clone https://github.com/janspoerer/mcp_browser_use.git
    cd mcp_browser_use
  2. 安装依赖: 确保您的 Python 环境中安装了 'requirements.txt' 中列出的所有依赖。强烈建议使用 Python 虚拟环境进行安装。

    python -m venv .venv
    source .venv/bin/activate  # macOS/Linux
    # ./.venv/Scripts/activate  # Windows
    pip install -r requirements.txt
  3. 浏览器准备: 为了避免自动化操作与您日常使用的 Chrome 浏览器产生冲突,并确保 MCP 服务器能够以开发者模式启动浏览器,我们强烈推荐安装 Chrome BetaChrome Canary 版本。

  4. 配置 '.env' 文件: 在项目根目录(即 'mcp_browser_use' 文件夹内)创建或修改名为 '.env' 的文件,并配置 Chrome 相关的路径和用户配置文件信息。这将指导 MCP 服务器使用正确的浏览器实例和用户数据。

    示例 '.env' 配置:

    CHROME_PROFILE_USER_DATA_DIR=/Users/yourname/Library/Application Support/Google/ChromeMCPAutomation
    CHROME_PROFILE_NAME=Profile 1
    CHROME_EXECUTABLE_PATH=/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta
    MCP_MAX_SNAPSHOT_CHARS=10000
    • 'CHROME_PROFILE_USER_DATA_DIR': 指定浏览器用户配置文件的存储路径。请确保这是一个独立的目录,不要与您日常使用的 Chrome 浏览器配置文件混淆。
    • 'CHROME_PROFILE_NAME': 指定要使用的 Chrome 配置文件名称。
    • 'CHROME_EXECUTABLE_PATH': 指向您安装的 Chrome Beta 或 Chrome Canary 的完整可执行文件路径。
    • 'MCP_MAX_SNAPSHOT_CHARS': (可选) 限制每次操作后返回的 HTML 快照的字符数,默认为 10000。

服务器配置 (用于MCP客户端)

MCP客户端(如 Claude Desktop)需要配置如何连接到此 'mcp_browser_use' MCP 服务器。以下是一个 JSON 格式的配置示例,您需要将其添加到您的 MCP 客户端的配置文件中。

示例 MCP 客户端配置 (JSON 格式):

{
    "mcpServers": {
        "mcp_browser_use": {
            "command": "您的Python虚拟环境路径/bin/python",
            "args": [
                "-m",
                "mcp_browser_use"
            ]
        }
    }
}
  • 'mcp_browser_use': 这是您为该 MCP 服务器定义的名称,将在 MCP 客户端中显示。
  • 'command': 指定用于启动 MCP 服务器的 Python 解释器路径。请替换为您的 Python 虚拟环境中的 'python' 或 'python3' 可执行文件的完整路径(例如,在 macOS/Linux 上可能是 '/Users/yourname/code/mcp_browser_use/.venv/bin/python',在 Windows 上可能是 'C:\path\to\mcp_browser_use\.venv\Scripts\python.exe')。
  • 'args': 启动 MCP 服务器所需的参数列表。'["-m", "mcp_browser_use"]' 表示以模块形式运行 'mcp_browser_use' 包,它将自动执行包内的 'main.py' 文件。

基本使用方法

  1. 启动 MCP 客户端: 确保您的 MCP 客户端已按照上述配置信息成功启动并连接到 'mcp_browser_use' 服务器。通常,MCP 客户端会在界面上显示可用的工具数量(例如 Claude 界面右下角的锤子图标)。

  2. AI 代理调用工具: 您的 AI 代理现在可以通过自然语言指令调用 'mcp_browser_use' 提供的各种工具。MCP 服务器将处理这些请求,并在操作完成后返回当前页面的 ContextPack 快照,供 AI 代理分析和决策下一步操作。

    AI 代理示例指令:

    • "启动一个新的浏览器会话。" (调用 'mcp_browser_use__start_browser')
    • "导航到 'https://www.example.com'。" (调用 'mcp_browser_use__navigate_to_url')
    • "点击页面上带有文本 '提交' 的按钮。" (调用 'mcp_browser_use__click_element')
    • "在名称为 'username' 的输入框中填写 'testuser123'。" (调用 'mcp_browser_use__fill_text')
    • "关闭当前浏览器会话。" (调用 'mcp_browser_use__close_browser')
    • "获取当前页面的所有 Cookie。" (调用 'mcp_browser_use__get_cookies')
    • "滚动页面向下 500 像素。" (调用 'mcp_browser_use__scroll')

信息

分类

网页与API