使用说明

项目简介

Chrome MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它允许 LLM 客户端通过标准化的 MCP 协议,控制一个 Chrome 浏览器实例。此服务器通过 Chrome DevTools Protocol (CDP) 提供了一系列工具,使得 LLM 能够进行网页浏览、信息提取和用户界面交互等操作。

主要功能点

  • 浏览器控制工具: 提供导航到指定 URL、模拟鼠标点击、键盘输入、获取页面信息等工具,使 LLM 能够与网页进行交互。
  • 页面信息获取: 可以获取页面的语义信息,包括可交互元素及其索引,以及页面上的文本内容,为 LLM 理解页面上下文提供支持。
  • 灵活的交互方式: 支持通过元素索引进行点击和聚焦操作,方便 LLM 精确控制页面元素。
  • SSE 传输协议: 使用 SSE (Server-Sent Events) 作为 MCP 通信的传输协议,实现服务器向客户端推送数据。

安装步骤

  1. 安装 Bun 或 Node.js: 推荐使用 Bun,或者使用 Node.js (v14 或更高版本)。
  2. 启动 Chrome 浏览器并启用远程调试: 根据操作系统,在终端中执行命令启动 Chrome 浏览器,并开启远程调试端口 (9222)。例如 macOS 系统:
    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
  3. 安装项目依赖: 在仓库根目录下,使用 Bun 或 npm 安装依赖。
    bun install
    或者
    npm install
  4. 启动 MCP 服务器: 使用 Bun 或 npm 启动服务器。
    bun start
    或者
    npm start
    服务器默认运行在 3000 端口。

服务器配置

MCP 客户端需要配置以下信息以连接 Chrome MCP Server。以下是 JSON 格式的配置示例,通常在 MCP 客户端的设置文件中配置(例如 Roo Code):

{
  "serverName": "chrome-control",  // MCP 服务器名称,可以自定义
  "command": "bun",             // 启动服务器的命令,这里使用 bun
  "args": ["start"]              // 启动命令的参数,这里使用 "start" 启动脚本
}

参数注释:

  • 'serverName': 为该 MCP 服务器配置一个名称,在客户端中用于标识和选择服务器。
  • 'command': 指定启动 MCP 服务器的命令。根据项目 'package.json' 中的 'scripts' 配置,这里使用 'bun start' 或 'npm start' 启动服务器。
  • 'args': 'command' 命令的参数,根据启动脚本的需求配置。本例中 'bun start' 或 'npm start' 命令不需要额外参数,所以配置为空数组或 '["start"]' 启动脚本名称。

基本使用方法

  1. 确保 Chrome 浏览器已启动并开启远程调试,Chrome MCP Server 也已成功启动。
  2. 在 MCP 客户端中配置上述服务器信息,并连接到 'http://localhost:3000/sse' (或根据实际运行地址修改)。
  3. 客户端可以通过 MCP 协议调用服务器提供的工具,例如 'navigate' 工具用于导航到指定网址,'click' 工具用于模拟鼠标点击等,从而控制 Chrome 浏览器执行相应的操作。
  4. 'getPageInfo' 工具可以获取当前页面的信息,返回可交互元素列表和页面文本内容,为后续的交互操作提供上下文信息。

信息

分类

开发者工具