mcpField
M
MCP Browser Automation

MCP Browser Automation

远程服务
github.com/algonius浏览器自动化1970 周前更新
代码仓库

关于 MCP Browser Automation

Algonius Browser 的 MCP Browser Automation 是一个开源 MCP 服务,向外部 AI 系统暴露浏览器控制工具,支持导航网页、操作 DOM 元素并提取页面内容。它由 Chrome 扩展与 Go 编写的 MCP 主机组成,采用 Apache License 2.0 许可。

主要功能

  1. 01导航与标签页管理工具
  2. 02DOM 元素提取、点击与赋值
  3. 03页面滚动控制
  4. 04browser:// 状态资源
  5. 05Chrome 扩展与 Go MCP 主机

适用场景

  1. 01AI 助手自动浏览网页并提取内容
  2. 02自动填写并提交表单
  3. 03在多个标签页之间执行网页操作并监控状态

MCP 相关

该项目是 MCP 服务,提供 navigate_to、manage_tabs、click_element 等工具,以及 browser://current/state 与 browser://dom/state 两个资源,供 MCP 客户端调用。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址http://127.0.0.1:9333/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Algonius Browser 横幅

MCP 浏览器自动化

🌐 概述

Algonius Browser 是一个开源 MCP(Model Context Protocol)服务,为外部 AI 系统提供浏览器自动化功能。它通过 MCP 协议提供一套全面的浏览器控制工具,使 AI 助手和其他工具能够以编程方式浏览网站、与 DOM 元素交互并提取网页内容。

🎯 主要功能

  • MCP 协议集成:为 AI 系统控制浏览器自动化提供标准接口
  • Chrome 扩展程序:处理浏览器交互的后台服务工作线程
  • 原生消息传递:基于 Go 的 MCP 主机,可连接 Chrome 扩展程序与外部工具
  • 全面的工具集:5 个浏览器自动化工具 + 2 个 MCP 资源
  • 类型安全:完整的 TypeScript 实现,并具备结构化错误处理
  • 测试套件:针对所有功能的全面集成测试

🛠️ 可用的 MCP 工具

导航与标签页
  • navigate_to:导航至 URL,并可配置超时处理
  • manage_tabs:创建、关闭和切换浏览器标签页
DOM 交互
  • get_dom_extra_elements:通过分页和筛选高级提取 DOM 元素
  • click_element:使用 CSS 选择器或文本匹配点击 DOM 元素
  • set_value:设置输入框、文本区域和表单元素中的值
  • scroll_page:按自定义距离向上或向下滚动页面

📋 可用的 MCP 资源

浏览器状态资源
  • browser://current/state:以便于 AI 使用的 Markdown 格式呈现完整的当前浏览器状态

    • 活动标签页信息
    • 包含 URL、标题和状态的所有浏览器标签页
    • 通过资源通知实时更新状态
  • browser://dom/state:以 Markdown 格式概览当前 DOM 状态

    • 页面元数据(URL、标题、滚动位置)
    • 前 20 个交互式元素
    • 元素总数及“还有更多”提示
    • 简化的 DOM 结构
    • 页面发生变化时自动更新

🚀 快速开始

1. 安装 Chrome 扩展程序

从 Chrome 网上应用店安装(推荐):

可在 Chrome 网上应用店获取
  1. 点击 Chrome 网上应用店页面上的“添加至 Chrome”按钮
  2. 按提示确认安装
  3. 扩展程序将自动安装并可供使用

从源代码安装(开发):

# Clone and build
git clone https://github.com/algonius/algonius-browser.git
cd algonius-browser
pnpm install
pnpm build

# Load in Chrome
# 1. Open chrome://extensions/
# 2. Enable "Developer mode"
# 3. Click "Load unpacked"
# 4. Select the 'dist' folder

⚠️ 重要:Chrome 扩展程序需要 MCP Host 后端服务才能正常运行。请继续执行第 2 步以完成安装。

2. 安装 MCP Host

一键安装(推荐):

Linux/macOS:

curl -fsSL https://raw.githubusercontent.com/algonius/algonius-browser/master/install-mcp-host.sh | bash

Windows(PowerShell):

iwr -useb https://raw.githubusercontent.com/algonius/algonius-browser/master/install-mcp-host.ps1 | iex

手动安装:

# Download latest release
wget https://github.com/algonius/algonius-browser/releases/latest/download/mcp-host-linux-x86_64.tar.gz

# Extract and install
tar -xzf mcp-host-linux-x86_64.tar.gz
cd mcp-host-linux-x86_64
./install.sh
3. 验证安装
# Test the MCP host installation
mcp-host-go --version

# The MCP host will be automatically started when needed by the Chrome extension
# You should see the extension icon in your Chrome toolbar

✅ 成功:两个组件现已安装!请求浏览器自动化时,Chrome 扩展程序将自动与 MCP Host 通信。

🔧 集成示例

与 AI 助手配合使用

安装完成后,AI 系统即可通过 MCP 协议使用浏览器自动化工具和资源:

工具用法:

{
  "method": "tools/call",
  "params": {
    "name": "navigate_to",
    "arguments": {
      "url": "https://example.com",
      "timeout": 30000
    }
  }
}

资源访问:

{
  "method": "resources/read",
  "params": {
    "uri": "browser://current/state"
  }
}
常见工作流

网页抓取:

  1. navigate_to → 导航到目标网站
  2. 读取 browser://dom/state → 获取页面概览
  3. get_dom_extra_elements → 使用分页获取特定元素
  4. click_element → 与元素交互
  5. 读取 browser://dom/state → 提取更新后的内容

表单自动化:

  1. navigate_to → 前往表单页面
  2. 读取 browser://dom/state → 识别表单元素
  3. set_value → 填写表单字段
  4. click_element → 提交表单
  5. 读取 browser://current/state → 验证是否完成

多标签页管理:

  1. 读取 browser://current/state → 检查当前标签页
  2. manage_tabs → 创建或切换标签页
  3. navigate_to → 在每个标签页中加载内容
  4. 读取 browser://current/state → 监控所有标签页的状态

通过滚动导航页面:

  1. navigate_to → 前往目标页面
  2. 读取 browser://dom/state → 获取初始页面状态
  3. scroll_page → 滚动以加载更多内容
  4. get_dom_extra_elements → 提取新加载的元素

🏗️ 架构

External AI System
       ↓ (MCP Protocol)
   MCP Host (Go)
       ↓ (Native Messaging)
Chrome Extension
       ↓ (Chrome APIs)
    Browser Tabs
组件
  • MCP 主机:基于 Go 的原生消息主机,实现 MCP 协议
  • Chrome 扩展:带有工具处理程序的后台服务工作线程
  • 内容脚本:DOM 交互和数据提取工具
  • 集成测试:涵盖所有工具的完整测试套件

🧪 开发

从源代码构建

先决条件:

  • Node.js 22.12.0+
  • pnpm 9.15.1+
  • Go 1.21+(用于 MCP 主机)

构建扩展:

pnpm install
pnpm build

构建 MCP 主机:

cd mcp-host-go
make build

运行测试:

# Extension tests
pnpm test

# MCP host tests  
cd mcp-host-go
make test
开发模式
# Extension development
pnpm dev

# MCP host development
cd mcp-host-go
make dev

📊 支持的平台

MCP 主机:

  • Linux x86_64
  • macOS Intel(x86_64)和 Apple Silicon(arm64)
  • Windows x86_64

Chrome 扩展:

  • Chrome/Chromium 88+
  • Microsoft Edge 88+

📚 文档

详细文档位于 docs/ 目录中:

🤝 贡献

欢迎贡献!请参阅我们的 CONTRIBUTING.md 了解相关指南。

贡献方式:

  • 报告错误并提出功能请求
  • 提交拉取请求以改进项目
  • 添加集成测试
  • 改进文档
  • 分享使用示例

🔒 安全

如需报告安全漏洞,请创建 GitHub Security Advisory,而不要公开提交问题。

💬 社区

📄 许可证

本项目采用 Apache License 2.0 许可,详情请参阅 LICENSE 文件。

👏 致谢

本项目基于以下优秀的开源项目构建:


由 Algonius Browser 团队倾情打造 ❤️

如果本项目帮助你构建更出色的浏览器自动化工具,请给我们点个星 🌟!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。