项目简介
'mcp_browser_use' 是一个基于 Model Context Protocol (MCP) 的服务器端实现,旨在赋能 AI 代理进行网页使用、浏览器自动化、数据抓取和网页交互。它通过与 Selenium 结合,让 AI 能够以自然语言指令完成各种网页任务。该服务器的独特之处在于支持多个 AI 代理同时访问同一个浏览器配置文件,但每个代理都能获得独立的浏览器窗口,互不干扰,从而实现了多代理场景下的无缝协作。
主要功能点
- 多代理、多窗口支持: 允许多个 AI 代理独立连接并使用同一个浏览器配置文件。每个代理会被分配一个独立的浏览器窗口,它们之间互不干扰,无需为每个代理启动单独的浏览器实例。
- HTML 内容优化: 提供 HTML 截断和清理功能,智能管理返回给 AI 的网页内容大小,防止上下文窗口溢出,并提高 AI 处理网页信息的效率。
- 丰富的浏览器操作: 包含一套全面的工具,支持启动/关闭浏览器会话、导航到指定 URL、点击网页元素、在输入框中填写文本、模拟键盘按键(如 Enter、Tab)、页面滚动、截取页面快照、管理浏览器 Cookie、调试元素属性等。
- 会话及窗口管理: 自动检测并清理因崩溃或无响应的代理留下的僵尸浏览器窗口,确保系统资源高效利用和稳定运行。
安装步骤
-
克隆仓库: 将项目仓库克隆到您的本地计算机。
git clone https://github.com/janspoerer/mcp_browser_use.git cd mcp_browser_use -
安装依赖: 确保您的 Python 环境中安装了 'requirements.txt' 中列出的所有依赖。强烈建议使用 Python 虚拟环境进行安装。
python -m venv .venv source .venv/bin/activate # macOS/Linux # ./.venv/Scripts/activate # Windows pip install -r requirements.txt -
浏览器准备: 为了避免自动化操作与您日常使用的 Chrome 浏览器产生冲突,并确保 MCP 服务器能够以开发者模式启动浏览器,我们强烈推荐安装 Chrome Beta 或 Chrome Canary 版本。
- Chrome Beta (推荐,更稳定): https://www.google.com/chrome/beta/
- Chrome Canary (不稳定): https://www.google.com/chrome/canary/
-
配置 '.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' 文件。
基本使用方法
-
启动 MCP 客户端: 确保您的 MCP 客户端已按照上述配置信息成功启动并连接到 'mcp_browser_use' 服务器。通常,MCP 客户端会在界面上显示可用的工具数量(例如 Claude 界面右下角的锤子图标)。
-
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