浏览器自动化服务

一个基于Puppeteer的浏览器自动化服务,使AI助手和LLM工具能够导航网页、截图、点击元素、填写表单和与网页内容交互。

  • by blink-new
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 blink-new/browser-mcp

使用说明

浏览器MCP

使用Puppeteer实现浏览器自动化的模型上下文协议(MCP)服务器。这使得像Claude、GPT和其他LLM驱动的工具这样的人工智能助手能够浏览网页、截图、点击元素、填写表单和与网络内容交互。

特性

  • 导航:导航到URL、后退/前进、重新加载页面
  • 截图:捕获整页或视口屏幕截图
  • 交互:单击、键入、悬停、滚动、选择下拉选项
  • 内容提取:获取页面内容、标题和链接
  • JavaScript执行:在浏览器上下文中运行自定义脚本
  • 等待条件:等待元素或超时

安装

先决条件

  • Node.js 18+(建议使用LTS)
  • npm、pnpm或bun

通过npx安装(推荐)

您可以直接运行服务器,无需安装:

npx github:blink-new/browser-mcp

全球安装

npm install -g github:blink-new/browser-mcp

从源代码安装

git clone https://github.com/blink-new/browser-mcp.git
cd browser-mcp
npm install
npm run build

安装说明

Ubuntu/Debian Linux

  1. 安装Node.js 18+:

    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
  2. 安装Chromium依赖项:

    sudo apt-get install -y \
      libnss3 \
      libatk1.0-0 \
      libatk-bridge2.0-0 \
      libcups2 \
      libdrm2 \
      libxkbcommon0 \
      libxcomposite1 \
      libxdamage1 \
      libxfixes3 \
      libxrandr2 \
      libgbm1 \
      libasound2 \
      libpango-1.0-0 \
      libcairo2 \
      libatspi2.0-0
    
  3. 配置您的MCP客户端 (见下面的配置部分)

macOS

  1. 安装Node.js 18+ (使用Homebrew):

    brew install node
    

    或者使用nvm:

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
    nvm install 20
    nvm use 20
    
  2. 配置您的MCP客户端 (见下面的配置部分)

视窗

  1. 安装Node.js 18+:

    • 从下载并安装 nodejs.org
    • 或使用翼子板: winget install OpenJS.NodeJS.LTS
  2. 配置您的MCP客户端 (见下面的配置部分)

配置

开源代码

添加到您的 ~/.config/opencode/opencode.json:

{
  "mcp": {
    "browser": {
      "type": "local",
      "command": ["npx", "-y", "github:blink-new/browser-mcp"],
      "enabled": true
    }
  }
}

克劳德桌面版

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "browser": {
      "command": "npx",
      "args": ["-y", "github:blink-new/browser-mcp"]
    }
  }
}

带MCP扩展的游标/VS代码

添加到MCP配置中:

{
  "mcpServers": {
    "browser": {
      "command": "npx",
      "args": ["-y", "github:blink-new/browser-mcp"]
    }
  }
}

使用环境变量

对于无头服务器或容器:

{
  "mcp": {
    "browser": {
      "type": "local",
      "command": ["npx", "-y", "github:blink-new/browser-mcp"],
      "environment": {
        "BROWSER_MCP_NO_SANDBOX": "true",
        "BROWSER_MCP_HEADLESS": "true"
      },
      "enabled": true
    }
  }
}

环境变量

变量 描述 默认值
BROWSER_MCP_HEADLESS 在无头模式下运行浏览器 true
BROWSER_MCP_NO_SANDBOX 禁用Chrome沙盒(Docker/root需要) false
BROWSER_MCP_EXECUTABLE_PATH Chrome/Chromium可执行文件的路径 自动检测
BROWSER_MCP_ARGS 其他Chrome参数(逗号分隔) 无

可用工具

导航

工具 说明
browser_navigate 导航到URL
browser_back 返回上一页
browser_forward 转到下一页
browser_reload 重新加载当前页面

屏幕截图和内容

工具 说明
browser_screenshot 截图(支持全屏选项)
browser_title 获取页面标题
browser_content 获取HTML内容(可选选择器)
browser_links 获取页面上的所有链接

交互

工具 说明
browser_click 通过CSS选择器点击元素
browser_type 在输入框中键入文本
browser_hover 将鼠标悬停在元素上
browser_select 从下拉列表中选择一个选项
browser_scroll 向上或向下滚动

公用事业

工具 说明
browser_wait 等待时间或元素
browser_evaluate 执行JavaScript
browser_close 关闭浏览器

示例

导航和屏幕截图

User: Go to example.com and take a screenshot
AI: [Uses browser_navigate with url="https://example.com"]
AI: [Uses browser_screenshot]

填写表格

User: Fill out the contact form on the page
AI: [Uses browser_type with selector="#name" text="John Doe"]
AI: [Uses browser_type with selector="#email" text="john@example.com"]
AI: [Uses browser_click with selector="#submit"]

提取数据

User: Get all the links from this page
AI: [Uses browser_links]

故障排除

Linux:浏览器无法启动

如果您看到有关缺少库的错误,请安装Chromium依赖项:

sudo apt-get install -y libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2

Docker/Root:沙盒错误

使用 --no-sandbox 标志:

BROWSER_MCP_NO_SANDBOX=true npx github:blink-new/browser-mcp

或者在您的配置中:

{
  "environment": {
    "BROWSER_MCP_NO_SANDBOX": "true"
  }
}

macOS:Puppeter找不到Chrome

捆绑的Chromium应该自动工作。如果没有,请指定路径:

BROWSER_MCP_EXECUTABLE_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" npx github:blink-new/browser-mcp

Windows:长路径错误

以管理员身份运行PowerShell并启用长路径:

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force

Docker支持

Dockerfile示例:

FROM node:20-slim

# Install Chromium dependencies
RUN apt-get update && apt-get install -y \
    libnss3 \
    libatk1.0-0 \
    libatk-bridge2.0-0 \
    libcups2 \
    libdrm2 \
    libxkbcommon0 \
    libxcomposite1 \
    libxdamage1 \
    libxfixes3 \
    libxrandr2 \
    libgbm1 \
    libasound2 \
    libpango-1.0-0 \
    libcairo2 \
    && rm -rf /var/lib/apt/lists/*

ENV BROWSER_MCP_NO_SANDBOX=true
ENV BROWSER_MCP_HEADLESS=true

CMD ["npx", "-y", "github:blink-new/browser-mcp"]

发展

# Clone the repository
git clone https://github.com/blink-new/browser-mcp.git
cd browser-mcp

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build
npm run build

# Run production build
npm start

贡献

欢迎投稿!请随时提交拉取请求。

许可证

MIT许可证-请参阅 许可证 了解详情。

学分