项目简介
MCP 浏览器代理(MCP Browser Agent)是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为支持 MCP 协议的大型语言模型(如 Claude Desktop)提供强大的浏览器自动化和 API 调用能力。它允许 LLM 通过结构化的指令控制浏览器执行网页导航、交互、数据提取等任务,并能直接发起 HTTP 请求。
主要功能点
- 高级浏览器自动化:
- 访问指定 URL,支持自定义加载策略。
- 捕获当前页面或特定元素的截图。
- 执行精确的网页元素交互,如点击、填写表单、选择下拉选项、悬停。
- 在浏览器环境中执行 JavaScript 代码并捕获控制台输出。
- 强大的 API 客户端:
- 执行 GET, POST, PUT, PATCH, DELETE 等 HTTP 请求。
- 配置请求头和请求体内容。
- 处理响应数据,支持 JSON 格式化。
- MCP 资源管理:
- 将浏览器控制台日志作为可访问的资源提供。
- 通过 MCP 接口提供捕获的截图资源。
- 持久会话:
- 维持一个持久的浏览器会话(可见窗口),保留状态以便连续操作。
安装步骤
- 克隆仓库:
打开终端,运行以下命令克隆项目代码:
git clone https://github.com/imprvhub/mcp-browser-agent cd mcp-browser-agent - 安装依赖:
进入项目目录后,运行以下命令安装所需的 Node.js 依赖和 Playwright 浏览器驱动:
如果需要安装特定浏览器驱动(例如 chrome),可以运行:npm install npm init playwright@latest # 确保 Playwright 及其驱动正确安装npx playwright install chrome - 构建项目:
运行构建命令生成可执行文件:
npm run build
服务器配置
要让 MCP 客户端(如 Claude Desktop)使用此服务器,您需要将其添加到客户端的配置中。通常,这涉及修改客户端的配置文件(例如 Claude Desktop 的 'claude_desktop_config.json'),添加一个新的 MCP 服务器条目。
以下是配置条目所需的关键信息(具体格式和位置请参考您的 MCP 客户端文档):
- 服务器名称 (name): 例如 '"browserAgent"' (您可以自定义)
- 启动命令 (command): '"node"'
- 启动参数 (args): 这是一个数组,包含 Node.js 脚本的路径和任何命令行参数。
- 数组的第一个元素应为构建后服务器脚本的绝对路径,例如:'"ABSOLUTE_PATH_TO_DIRECTORY/mcp-browser-agent/dist/index.js"'
- 您可以添加可选参数,例如指定浏览器:'"--browser"', '"chrome"' (支持 'chrome', 'firefox', 'webkit', 'edge')
配置示例 (概念):
{ "mcpServers": { "browserAgent": { "command": "node", "args": [ "您_安装_项目_的_绝对_路径/mcp-browser-agent/dist/index.js", "--browser", "chrome" ] } // 如果有其他MCP服务器,继续在这里添加 // "anotherServer": { ... } } }
请将 '您_安装_项目_的_绝对_路径' 替换为您实际克隆 'mcp-browser-agent' 仓库的目录的完整绝对路径。
基本使用方法
配置完成后,您的 MCP 客户端应该能够发现并使用此 MCP 服务器提供的工具。您可以直接通过自然语言向 LLM 发出指令,让它调用这些工具。例如:
- 网页导航: “请导航到 https://www.google.com” (LLM 会调用 'browser_navigate' 工具)
- 截图: “请截取当前页面的全屏,命名为 'google-homepage'” (LLM 会调用 'browser_screenshot' 工具)
- 元素交互: “请在搜索框中输入 '天气预报'” (LLM 会调用 'browser_fill' 工具)
- API 调用: “请对 https://jsonplaceholder.typicode.com/todos/1 发起一个 GET 请求” (LLM 会调用 'api_get' 工具)
通过组合这些基本指令,LLM 可以在您的指导下执行更复杂的网页自动化和 API 交互任务。
信息
分类
AI与计算