Back to MCP directory
publicPublicdnsLocal runtime

lcbro-mcp

LCBro是一个低成本浏览器自动化MCP服务器,支持Playwright和Chrome DevTools协议,提供智能数据预处理和远程浏览器管理功能,可减少LLM API调用成本达80%。

article

README

🚀 LCBro

LCBro 是一款强大的浏览器自动化 MCP 服务器,支持 Playwright 和 Chrome DevTools Protocol (CDP)。它提供智能预处理、全面的日志记录和远程浏览器管理功能,专注于优化 LLM 请求成本,减少上下文使用。

🚀 快速开始

选项 1:使用 npx(推荐 - 无需安装)

# 直接使用,无需安装
npx lcbro --help

# 启动服务器
npx lcbro

# 启用 CDP 支持
npx lcbro --cdp-enabled

选项 2:全局安装

# 通过 npm 全局安装
npm install -g lcbro

# 验证安装
lcbro --version

# 启动服务器
lcbro

配置 MCP 客户端

// Claude Desktop: ~/.claude/claude_desktop_config.json
{
  "mcpServers": {
    "lcbro": {
      "command": "npx",
      "args": ["-y", "lcbro"]
    }
  }
}

// Cursor IDE: ~/.cursor/mcp.json
{
  "mcpServers": {
    "lcbro": {
      "command": "npx",
      "args": ["-y", "lcbro"]
    }
  }
}

✨ 主要特性

🎯 浏览器自动化

  • 通过 JavaScript 执行实现真实浏览器控制
  • 支持登录流程、点击、文本输入、表单处理
  • 支持截图捕获和内容提取
  • 具有持久上下文的会话管理

🤖 智能预处理

  • 自动生成预处理提示
  • 集成本地 LLM(Ollama、JAN)
  • 智能内容分析和优化
  • 经济高效的数据准备

🔧 多引擎支持

  • Playwright:功能齐全的自动化
  • CDP:支持 Chrome DevTools Protocol
  • 远程浏览器连接
  • 自动检测和回退

📊 高级日志记录

  • 全面的 LLM 交互日志
  • 性能指标和令牌跟踪
  • 可配置的日志轮换和压缩
  • 调试和监控功能

📦 安装指南

先决条件

  • Node.js 18+
  • npm 或 yarn
  • Chrome/Chromium 浏览器(用于 CDP 支持)

全局安装(推荐)

# 全局安装
npm install -g lcbro

# 验证安装
lcbro --version

本地开发

# 克隆并安装
git clone https://github.com/lcbro/lcbro.git
cd lcbro
npm install
npm run build
npm start

Docker

# 使用 Docker 运行
docker run -p 3000:3000 lcbro:latest

💻 使用示例

基础浏览器自动化

# 导航并提取内容
npx lcbro navigate --url "https://example.com"
npx lcbro extract --format text

自定义配置

# 启用 CDP 支持
npx lcbro --cdp-enabled --port 3001

# 自定义日志目录
npx lcbro --logs-dir "/custom/logs" --log-level debug

MCP 客户端集成

{
  "mcpServers": {
    "lcbro": {
      "command": "npx",
      "args": ["-y", "lcbro"]
    }
  }
}

📚 详细文档

🔧 技术细节

配置

LCBro 使用 YAML 配置文件,并支持 CLI 覆盖。可以创建 config/default.yaml 文件或使用 CLI 选项:

基本配置

server:
  host: "localhost"
  port: 3000

browser:
  engine: playwright  # playwright | cdp
  headless: true
  defaultTimeoutMs: 30000
  maxContexts: 8
  storageDir: /data/profiles

llm:
  defaultModel: "ollama:llama3.1"
  maxOutputTokens: 2000
  temperature: 0
  host: "localhost"
  port: 11434
  janPort: 1337
  autoPreprocess: true

security:
  allowDomains: ["example.com", "gov.br"]
  blockPrivateNetworks: true

CLI 配置覆盖

# 服务器设置
lcbro --port 3001 --host 0.0.0.0

# CDP 浏览器支持
lcbro --cdp-enabled --cdp-port 9222

# 远程 CDP 服务器
lcbro --remote-url https://cdp.example.com:9222 --remote-ssl-mode enabled

# 日志配置
lcbro --log-level debug --logs-dir /tmp/lcbro-logs

CLI 使用

LCBro 提供了全面的命令行界面:

主要命令

# 启动服务器
lcbro

# 显示帮助
lcbro --help

# 显示当前配置
lcbro config

# 使用 CDP 启动浏览器
lcbro browser:launch -b chrome -p 9222

# 管理日志文件
lcbro logs --command summary

# 测试远程 CDP 连接
lcbro test:remote -u https://cdp.example.com:9222

环境变量

LCBro 支持通过环境变量进行配置:

LLM 配置

# 本地 LLMs(推荐)

#### Ollama(免费,无需 API 密钥)
```bash
# 安装 Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# 拉取模型
ollama pull llama3.1

# 配置 LCBro
export LLM_HOST=localhost
export LLM_PORT=11434
export LLM_DEFAULT_MODEL=ollama:llama3.1

JAN AI(免费,可选 API 密钥)

# 为 JAN AI 配置 LCBro
export LLM_HOST=localhost
export LLM_JAN_PORT=1337
export LLM_DEFAULT_MODEL=jan:llama-3.1-8b

外部 LLM API(可选)

# OpenAI
export OPENAI_API_KEY=your_api_key_here

# Anthropic
export ANTHROPIC_API_KEY=your_api_key_here

CDP 浏览器配置

# 启用 CDP 支持
export BROWSER_ENGINE=cdp

# CDP 服务器设置
export CDP_HOST=localhost
export CDP_PORT=9222

# 远程 CDP 服务器
export CDP_REMOTE_URL=https://cdp.example.com:9222
export CDP_REMOTE_SSL_MODE=enabled
export CDP_REMOTE_API_KEY=your_api_key

高级特性

智能预处理

LCBro 在将数据发送到 LLMs 之前会自动清理和优化数据:

# 启用智能预处理
lcbro --auto-preprocess

# 配置预处理阈值
lcbro --preprocessing-threshold-html 5000
lcbro --preprocessing-threshold-text 8000

CDP 浏览器管理

# 使用 CDP 启动浏览器
lcbro browser:launch -b chrome -p 9222 -n 3

# 连接到远程 CDP 服务器
lcbro --remote-url https://cdp.example.com:9222

# 测试远程连接
lcbro test:remote -u https://cdp.example.com:9222

日志管理

# 查看日志摘要
lcbro logs --command summary

# 清理旧日志
lcbro logs --command cleanup --age 30

# 压缩日志文件
lcbro logs --command compress

MCP 工具

LCBro 提供以下 MCP 工具:

导航工具

  • navigate_open - 在浏览器上下文中打开新 URL
  • navigate_goto - 在现有上下文中导航到 URL

交互工具

  • interact_click - 通过选择器、文本或角色点击元素
  • interact_type - 在输入字段中输入文本
  • interact_wait - 等待条件(选择器、网络空闲、URL 更改)

提取工具

  • extract_content - 以各种格式提取页面内容
  • extract_table - 以 JSON 格式提取表格数据
  • extract_attributes - 从元素中提取属性
  • extract_screenshot - 对页面或元素进行截图

会话工具

  • session_auth - 执行身份验证序列
  • session_manage - 管理浏览器会话和上下文

LLM 工具

  • llm_transform - 使用 LLM 和自定义指令转换数据
  • llm_analyze - 使用 LLM 预处理分析内容

📊 性能与规格

| 属性 | 详情 | |------|------| | 包大小 | 压缩后 147.7 kB,解压后 759.7 kB | | 启动时间 | < 2 秒 | | 内存使用 | 典型情况下 < 100 MB | | 并发会话 | 最多 8 个浏览器上下文 | | 支持的浏览器 | Chrome、Chromium、Edge(CDP)、Playwright 浏览器 | | Node.js 版本 | 18.x、20.x、22.x | | 操作系统 | Windows、macOS、Linux |

🔧 CI/CD 管道状态

自动化测试与部署 🚀

| 管道 | 状态 | 描述 | |----------|--------|-------------| | CI/CD | CI/CD Pipeline | 主要构建、测试和部署管道 | | Docker | Docker Testing | 容器构建和多平台测试 | | Release | Release | 自动发布和 npm 发布 | | Nightly | Nightly Tests | 扩展测试和性能基准测试 |

质量指标

  • 测试覆盖率:>80%(单元 + 端到端)
  • 构建时间:~3 - 5 分钟
  • Docker 构建:多阶段构建,支持层缓存
  • 安全性:CodeQL 分析 + 依赖扫描

📋 查看所有工作流 → | 🚀 查看管道运行 →

🛠️ 开发

先决条件

npm install
npm run install:browsers

构建与测试

# 构建项目
npm run build

# 运行测试
npm test

# 运行端到端测试
npm run test:e2e

# 在本地运行 CI 管道
make ci

📄 许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

🤝 贡献

  1. 分叉仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开拉取请求

📞 支持与社区

GitHub Issues GitHub Stars GitHub Forks

🙏 致谢

  • Playwright - 浏览器自动化框架
  • Chrome DevTools Protocol - 远程浏览器调试
  • MCP SDK - 模型上下文协议框架
  • Claude Desktop - MCP 客户端集成
  • Cursor IDE - 开发环境

由 LCBro 团队用心打造 ❤️

LCBro - 低成本浏览器远程操作
版本:1.0.10 • 状态:✅ 可用于生产环境 • 许可证:MIT

⬆ 返回顶部

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client