Lcbro Mcp

Lcbro Mcp

🚀 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"]
}
}
}

📚 详细文档

  • 智能预处理 - 自动数据清理和优化
  • LLM 日志记录指南 - 全面的日志记录系统
  • CDP 浏览器支持 - Chrome DevTools Protocol 集成
  • 远程 CDP 支持 - 远程浏览器管理
  • 日志目录配置 - 日志管理设置

🔧 技术细节

配置

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

  • 0 关注
  • 0 收藏,26 浏览
  • system 提出于 2025-10-05 00:33

相似服务问题

相关AI产品