返回 MCP 目录
public公开dns本地运行

browser-automation-server

一个基于MCP协议的浏览器自动化服务,提供网页导航、截图、元素交互、表单填写和数据提取等功能。

article

README

🚀 浏览器自动化 MCP 服务器

本服务器基于模型上下文协议(MCP),可为 Claude 及其他与 MCP 兼容的 AI 助手提供浏览器自动化功能。

🚀 快速开始

本服务器基于模型上下文协议(MCP),可为 Claude 及其他与 MCP 兼容的 AI 助手提供浏览器自动化功能。你可以按照以下步骤启动并使用该服务器。

✨ 主要特性

  • 网页自动化:能够程序化地控制网络浏览器,实现自动化操作。
  • 截图捕获:可对网页页面进行截图。
  • 元素交互:支持点击、输入等与网页元素的交互操作。
  • 导航:能在页面之间进行导航,并管理浏览器状态。
  • 表单填写:可自动填写并提交表单。
  • 数据提取:从网页中提取所需数据。

📦 安装指南

# 克隆仓库
git clone https://github.com/samihalawa/browser-automation-server.git
cd browser-automation-server

# 安装依赖项
npm install

# 构建服务器
npm run build

💻 使用示例

基础用法

启动服务器

npm start

配置

将服务器添加到您的 MCP 配置中:

{
  "servers": {
    "browser-automation": {
      "command": "/path/to/node",
      "args": ["/path/to/browser-automation-server/build/index.js"],
      "enabled": true,
      "port": 3008,
      "environment": {
        "NODE_PATH": "/path/to/node_modules",
        "PATH": "/usr/local/bin:/usr/bin:/bin"
      }
    }
  }
}

高级用法

可用工具

navigate

导航到指定的 URL。 参数:

  • url (string, 必填):要导航到的 URL
  • waitUntil (string, 可选):导航等待条件。选项:'load', 'domcontentloaded', 'networkidle'。默认值:'load'
screenshot

拍摄当前页面的截图。 参数:

  • fullPage (boolean, 可选):是否捕获整个页面或仅视口。默认值:false
  • path (string, 可选):保存截图的路径。如果未提供,则返回 Base64 编码的图像
click

点击指定元素。 参数:

  • selector (string, 必填):要点击的元素的 CSS 选择器
  • waitForSelector (boolean, 可选):是否等待选择器出现。默认值:true
type

在输入字段中输入文本。 参数:

  • selector (string, 必填):输入元素的 CSS 选择器
  • text (string, 必填):要输入的文本
  • delay (number, 可选):按键之间的延迟,以毫秒为单位。默认值:0
extract

从页面中提取数据。 参数:

  • selector (string, 必填):要提取的元素的 CSS 选择器
  • attribute (string, 可选):要提取的属性。如果没有提供,则提取文本内容
evaluate

在浏览器上下文中评估 JavaScript。 参数:

  • script (string, 必填):要评估的 JavaScript 代码
  • args (array, 可选):传递到脚本的参数

示例用法

  1. 导航到一个网站:

    navigate(url: "https://example.com")
    
  2. 拍摄截图:

    screenshot(fullPage: true)
    
  3. 点击按钮:

    click(selector: "#submit-button")
    
  4. 填写表单:

    type(selector: "#username", text: "user123")
    type(selector: "#password", text: "password123")
    click(selector: "#login-button")
    
  5. 提取数据:

    extract(selector: ".product-title", attribute: "innerText")
    

📚 详细文档

要求

  • Node.js 14+
  • Playwright 用于浏览器自动化

📄 许可证

本项目采用 MIT 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端