使用说明

项目简介

'@brianbuildz/agents' 仓库的 'browser-driver' 包是一个 Model Context Protocol (MCP) 服务器,它基于 Puppeteer 驱动浏览器,为大型语言模型 (LLM) 提供了一系列工具,使其能够与网页进行交互。通过此服务器,LLM 可以执行如网页导航、元素点击、表单填写等浏览器操作,从而扩展 LLM 在网络环境中的应用能力。

主要功能点

  • 网页导航: 允许LLM控制浏览器访问指定的URL。
  • 元素发现: 能够识别和提取网页上的可交互元素,如按钮、链接和输入框。
  • 元素操作: 支持点击网页元素、填写表单输入框、选择下拉菜单等操作。
  • 标签页管理: 可以列出、新建和关闭浏览器标签页。
  • JavaScript执行: 允许在浏览器环境中执行JavaScript代码。
  • 资源访问: 提供访问浏览器控制台日志的资源接口。

安装步骤

  1. 确保已安装 Node.js 和 npm。
  2. 可以通过 npm 安装 '@brianbuildz/browser-driver' 包:
    npm install @brianbuildz/browser-driver
    或者使用 npx 直接运行:
    npx @brianbuildz/browser-driver

服务器配置

对于 MCP 客户端,需要配置以下信息以连接到 'browser-driver' MCP 服务器。以下是 JSON 格式的配置信息示例,通常在 MCP 客户端的应用配置中设置:

{
  "serverName": "browser-driver",
  "command": "npx",
  "args": ["@brianbuildz/browser-driver"]
}

配置参数注释:

  • 'serverName': 服务器的名称,可以自定义,例如 "browser-driver"。
  • 'command': 启动服务器的命令,这里使用 'npx',它允许直接运行 npm 包的可执行文件。
  • 'args': 传递给命令的参数,'["@brianbuildz/browser-driver"]' 指定了要执行的 npm 包。

注意: 客户端需要确保 Node.js 环境可用,并且 'npx' 命令可以执行。如果全局安装了 '@brianbuildz/browser-driver','command' 可以设置为 'browser-driver','args' 为空数组 '[]'。

基本使用方法

  1. 启动服务器: MCP 客户端根据上述配置启动 'browser-driver' 服务器。服务器将通过标准输入/输出 (stdio) 与客户端进行 JSON-RPC 通信。
  2. 发送 MCP 请求: 客户端按照 MCP 协议格式,通过 stdio 向服务器发送 JSON-RPC 请求。请求可以包括:
    • 'tools/list': 获取服务器支持的工具列表。
    • 'tools/call': 调用特定的工具,例如 'puppeteer_navigate' (导航到URL), 'puppeteer_click' (点击元素) 等,并传递相应的参数。
    • 'resources/list': 获取服务器提供的资源列表。
    • 'resources/read': 读取特定资源的内容,例如 'console://logs' 可以获取浏览器控制台日志。
  3. 接收 MCP 响应: 服务器处理请求后,将通过 stdio 返回 JSON-RPC 响应。客户端解析响应以获取工具调用的结果或资源内容。

示例请求 (JSON-RPC 格式):

导航到 example.com:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "puppeteer_navigate",
    "arguments": {
      "url": "https://example.com"
    }
  }
}

客户端需要根据 MCP 协议规范构造和解析 JSON-RPC 消息,并根据服务器提供的工具和资源进行交互。示例代码 'packages/browser-driver/test-client.js', 'packages/browser-driver/test-claude.js', 和 'packages/browser-driver/test-puppeteer.js' 展示了如何与服务器进行交互,可以作为参考。

信息

分类

开发者工具