使用说明
项目简介
MCP Browser 是一个基于 Model Control Protocol (MCP) 的服务器实现,它利用 Playwright 驱动 headless 浏览器,对外提供了一系列 API 接口,使得 LLM 应用能够方便地获取网页内容、进行网页交互,从而扩展 LLM 的上下文理解和功能执行范围。该项目旨在作为 LLM 智能体的工具,使其能够像人类一样浏览和操作网页。
主要功能点
- Headless 浏览器自动化: 基于 Playwright 实现高效稳定的 headless 浏览器控制。
- API 接口: 提供丰富的 RESTful API 接口,用于执行浏览器操作,如导航、点击、输入、截图、DOM 提取、CSS 分析、可访问性测试和响应式设计测试等。
- 实时事件订阅: 支持 WebSocket 协议,允许客户端实时订阅浏览器事件,例如页面加载、DOM 变化、控制台日志和网络请求等,为 LLM 应用提供实时的网页状态反馈。
- 资源管理: 内置浏览器实例池,有效管理和复用浏览器资源,提高效率并控制资源消耗。
- 安全认证: 支持基于 JWT 的身份验证,保障 API 接口的安全访问。
- 速率限制: 实施速率限制,防止 API 滥用,确保服务稳定可靠。
安装步骤
-
克隆仓库
git clone https://github.com/neoforge-dev/mcp-browser.git cd mcp-browser -
运行安装脚本
- 手动安装:执行 './install.sh' 脚本,脚本将安装必要的依赖和配置环境。
- 一键安装 (macOS):复制并执行以下命令,简化安装过程:
curl -sSL https://raw.githubusercontent.com/neoforge-dev/mcp-browser/main/install_one_line.sh | bash - 安装脚本会自动检测并安装 XQuartz (X11) 以支持可视化功能(如果需要)。
-
安装 Playwright 浏览器 在项目根目录下,运行命令安装 Playwright 浏览器内核:
python -m playwright install
服务器配置
MCP 服务器需要通过以下配置信息,告知 MCP 客户端如何启动和连接:
{ "server name": "mcp-browser", "command": "uvicorn", "args": [ "src.main:app", // FastAPI 应用入口点,指向 src 目录下的 main.py 文件和 app 实例 "--host", "0.0.0.0", // 监听所有网络接口,允许从任何 IP 地址访问 "--port", "7665" // 服务器监听端口,默认为 7665,可自定义 // "--reload" // (可选) 开启热重载,方便开发时修改代码自动重启,生产环境建议关闭 ], "description": "MCP Browser headless 浏览器自动化服务器" }
参数说明:
- 'server name': 服务器名称,自定义,用于在 MCP 客户端中标识该服务器。
- 'command': 启动服务器的命令,这里使用 'uvicorn',一个 ASGI 服务器。
- 'args': 传递给 'uvicorn' 命令的参数列表:
- 'src.main:app': 指定 FastAPI 应用的位置。
- '--host', '0.0.0.0': 指定监听地址为所有网络接口。
- '--port', '7665': 指定服务器监听端口。
- '--reload' (可选): 开启热重载模式,仅在开发环境中使用。
- 'description': 服务器描述,用于在 MCP 客户端界面显示服务器的用途。
基本使用方法
- 启动服务器: 根据上述配置信息,使用 MCP 客户端启动 MCP Browser 服务器。确保 Python 环境配置正确,并且已安装所有依赖。
- 访问 Web UI (可选): 服务器启动后,可以通过浏览器访问 'http://localhost:7665' 查看简单的 Web UI 界面 (如果启用)。
- 使用 API 接口: 通过 HTTP 请求访问服务器提供的 RESTful API 接口,例如使用 'POST /api/browser/navigate' 导航到指定 URL,具体 API 接口和参数请参考仓库 README.md 文档。
- 订阅 WebSocket 事件: 使用 WebSocket 客户端连接到 'ws://localhost:7665/ws/browser/events' 端点,发送订阅消息以接收浏览器实时事件。
- 集成到 MCP 客户端: 在 LLM 应用或 MCP 客户端中,配置连接到 MCP Browser 服务器,利用其提供的资源 (浏览器能力) 和工具 (API 接口) 来增强 LLM 的功能。
信息
分类
网页与API