返回市场
浏览器mcp增强版

浏览器mcp增强版

作者:david-strejc38 星标更新:2025-10-24

项目介绍

<div align="center"> <img src="https://gips1.baidu.com/it/u=3443404222,2745788178&fm=3081&app=3081&f=JPEG?w=600&h=335" alt="LaskoBOT Mascot" width="800"/> </div>

LaskoBOT — 协议v2,多实例,跨浏览器

<div align="center">

LaskoBOT v1.30.7

Version License MCP

</div>

现代MCP服务器+浏览器扩展,用于通过单个WebSocket守护进程实现可靠的多实例自动化。

✨ 特性

✨ 高亮点

  • 单一WS守护进程(8765),多个会话(Claude实例)
  • 每个会话的标签路由和所有权(无交叉通信)
  • 跨Chrome和Firefox的统一工具
  • 自动重连(Firefox添加警报+在线钩子)

🚀 快速开始

先决条件

  • Node.js 20+
  • Chrome或Firefox
  • Claude Code
  • 也适用于WSL2和Windows Chrome

安装

第一步 - 部署脚本

git clone https://github.com/david-strejc/browsermcp-enhanced.git
cd browsermcp-enhanced
./scripts/deploy

第二步 - 安装systemd服务(HTTP + WS守护进程):

  • 选项A:用户服务(推荐给nvm用户,无需sudo):

    ./scripts/systemd-user-install.sh
    
  • 选项B:系统服务(需要sudo):

    sudo ./scripts/systemd-install.sh --user "$USER" \
      --install-dir "/home/$USER/.local/lib/browsermcp-enhanced" \
      --http-port 3000 --ws-port 8765
    

第三步 - 加载扩展(一次一个浏览器):

  • Chrome: chrome://extensions → 开发者模式 → 加载已解压的 → chrome-extension/
  • Firefox: about:debugging#/runtime/this-firefox → 加载临时附加组件 → firefox-extension/manifest.json

第四步 - 配置MCP

  {
    "mcpServers": {
      "browsermcp": {
        "type": "http",
        "url": "http://127.0.0.1:3000/mcp"
      }
    }
  }

有关详细架构和故障排除信息,请参阅ADVANCE_INFO.md

🐛 已知问题

  • WebSocket重新连接可能需要重启Chrome
  • 一些具有严格CSP的网站可能需要不安全模式
  • Safari和Firefox支持将在v2.0.0中提供
  • 在代理后面: 如果您在代理后面,请设置NO_PROXY=localhost,127.0.0.1以允许本地连接

📖 使用

基本导航

// 导航到URL
await browser_navigate({ url: "https://example.com" })

// 快照
await snapshot.accessibility({ mode: 'scaffold' })

// 点击元素
await browser_click({ ref: "button-1", element: "提交按钮" })

JavaScript执行

// 简单DOM
await js.execute({ code: "return document.title" })

// 安全操作(无代码)
await js.execute({ method: 'query', args: ['h3', { attrs: ['textContent'], limit: 10 }] })

// 不安全(首先在扩展选项中启用)
await js.execute({ code: "(function(){ return location.href })()", unsafe: true })

表单自动化

// 多步骤表单填写
await browser_multitool({
  intent: "form_fill",
  snapshot: snapshotData,
  fields: {
    "username": "john.doe",
    "email": "john@example.com",
    "message": "Hello world"
  }
})

调试与日志

守护进程: /tmp/browsermcp-daemon.log, /tmp/browsermcp-events.log Chrome: chrome://extensions → 检查(后台) Firefox: about:debugging → 检查(后台)

🔧 高级配置

环境变量

# 允许所有来源(开发)
BROWSER_MCP_ALLOWED_ORIGINS="*"

# 特定来源(生产)
BROWSER_MCP_ALLOWED_ORIGINS="https://example.com,https://app.example.com"

# 自定义WebSocket端口
BROWSER_MCP_PORT=8765

扩展选项(Firefox)

  • 不安全模式切换(unsafe: true所需)

📚 API参考

核心工具

  • browser_navigate, browser_go_back, browser_go_forward
  • dom.click, dom.type, dom.hover, dom.select
  • snapshot.accessibility
  • tabs.list, tabs.select, tabs.new, tabs.close
  • console.get, screenshot.capture, js.execute

🧪 测试

# 运行测试
npm test

# 快速测试
npm run test:quick

# 包含覆盖率
npm run test:coverage

🛠️ 开发

# 监视模式
npm run watch

# 类型检查
npm run typecheck

# 检查器
npm run inspector

📝 更新日志

查看CHANGELOG.md以获取详细的版本历史记录。

v1.0.0(最新)

  • 🚀 首个生产就绪版本
  • ✅ 基于RPC的安全模式执行
  • ✅ 沙箱iframe隔离
  • ✅ 综合测试套件
  • ✅ 完整文档

🤝 贡献

欢迎贡献!请随意提交Pull Request。

  1. 分叉仓库
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开Pull Request

📄 许可证

此项目根据MIT许可证发布 - 查看LICENSE文件以获取详细信息。

🙏 致谢

🐛 已知问题

  • WebSocket重新连接可能需要重启Chrome
  • 一些具有严格CSP的网站可能需要不安全模式
  • Safari和Firefox支持将在v2.0.0中提供

📞 支持


由LaskoBOT贡献者制作 ❤️