项目简介

MCP浏览器自动化服务是一个基于 Model Context Protocol (MCP) 的服务器实现,它扩展了 Playwright 的功能,允许 LLM 客户端通过 MCP 协议控制浏览器进行网页浏览和操作。该服务提供 JavaScript 代码注入工具,并支持 AIO 和 MCP 标准协议,可以通过 stdio 或 SSE 等多种模式与客户端通信。

主要功能点

  • 浏览器自动化: 使用已安装的系统浏览器(Edge, Chrome 等)进行网页浏览和操作。
  • MCP 协议支持: 完全兼容 MCP 标准协议,可以与任何 MCP 客户端进行交互。
  • JavaScript 注入工具: 允许 LLM 客户端向网页注入 JavaScript 代码,实现更精细的页面控制和数据提取。
  • 多种传输模式: 支持 stdio 和 SSE 两种传输模式,满足不同场景的需求。
  • AIO 标准协议兼容: 除了 MCP 协议,还支持 AIO 标准协议,方便集成到已有的 AIO 框架中。
  • 调试支持: SSE 模式下提供 '/debug' 端点,方便查看服务器上下文信息。

安装步骤

本仓库提供的是预编译的可执行文件,无需复杂的安装步骤。

  1. 下载可执行文件: 从仓库的 'dist' 目录下载 'mcp-use-browser.exe' 文件。
  2. 放置可执行文件: 将 'mcp-use-browser.exe' 放置到您希望运行 MCP 服务器的目录。

服务器配置

MCP 客户端需要配置以下信息以连接到 MCP 服务器。以下是基于 'mcpClient.js' 示例的配置信息:

{
  "serverName": "use-browser-mcp",
  "transport": {
    "type": "stdio",
    "command": "dist/mcp-use-browser.exe",
    "args": ["--transport", "stdio"]
  },
  "capabilities": {
    "prompts": {},
    "resources": {},
    "tools": {}
  }
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义。
  • 'transport.type': 传输类型,这里配置为 'stdio',表示使用标准输入输出进行通信。
  • 'transport.command': MCP 服务器启动命令,指向 'mcp-use-browser.exe' 可执行文件的路径。 请根据 'mcp-use-browser.exe' 实际存放路径进行修改。
  • 'transport.args': MCP 服务器启动参数,'["--transport", "stdio"]' 表示以 stdio 模式启动服务器。
  • 'capabilities': 声明客户端期望使用的服务器能力,这里为空对象,表示客户端接受服务器提供的所有默认能力。

注意: 如果您使用 SSE 模式,则无需配置 'command' 和 'args',只需运行 'mcp-use-browser.exe' 即可,服务器默认以 SSE 模式启动。SSE 模式的服务器地址默认为 'http://localhost:端口号',端口号会在服务器启动时输出。

基本使用方法

  1. 启动 MCP 服务器:

    • stdio 模式: 在命令行中执行 'mcp-use-browser.exe --transport stdio' 启动服务器。
    • SSE 模式: 双击运行 'mcp-use-browser.exe' 文件启动服务器。
  2. 运行 MCP 客户端: 参考仓库中的 'mcpClient.js' 示例,配置上述服务器连接信息,并使用 MCP 客户端 SDK 连接到服务器。'mcpClient.js' 演示了如何获取服务器信息、能力、以及调用 'browser_navigate' 工具进行网页导航。您可以根据需要扩展客户端代码,调用服务器提供的其他工具和功能。

  3. 使用 JavaScript 注入工具: 通过 MCP 客户端调用服务器提供的 JavaScript 注入工具 (具体工具名称和参数需要参考服务器的工具列表),可以实现更高级的网页操作,例如提取特定数据、模拟用户交互等。

信息

分类

网页与API