返回市场
浏览器使用统计

浏览器使用统计

作者:JovaniPink55 星标更新:2025-10-08

项目介绍

MCP Browser Use Server

smithery 徽章

Model Context Protocol (MCP) 服务器,将 browser-use 集成到 Claude Desktop 和其他兼容 MCP 的客户端。

<a href="https://glama.ai/mcp/servers/tjea5rgnbv"><img width="380" height="200" src="https://gips3.baidu.com/it/u=362267591,351129976&fm=3081&app=3181&f=PNG?w=760&h=400" alt="Browser Use Server MCP 服务器" /></a>

概述

此仓库提供了一个生产就绪的 browser-use 自动化引擎包装器。它暴露了一个 MCP 工具(run_browser_agent),该工具协调浏览器会话,执行 browser-use 代理,并将最终结果返回给客户端。重构的布局集中在将配置放在一个地方,提高可测试性,并将 browser-use 升级与 MCP 特定代码隔离。

关键功能

  • 自动化浏览 – 通过自然语言指令导航、与表单交互、控制标签页、捕获屏幕截图并读取页面内容。
  • 代理生命周期管理CustomAgent 包装 browser-use 的基础代理,添加历史导出、更丰富的提示以及跨运行的一致错误处理。
  • 集中式浏览器配置create_browser_session 将环境变量转换为一个可以立即使用的 BrowserSession,支持持久配置文件、代理和自定义 Chromium 标志,而无需修改代理逻辑。
  • FastMCP 集成server.py 注册 MCP 工具,规范化配置,并确保浏览器会话始终被清理。
  • 客户端助手client.py 包含异步助手,用于测试或其他希望在进程中使用 MCP 服务器的 Python 进程。

项目结构

.
├── documentation/
│   ├── CONFIGURATION.md      # 详细的配置参考
│   └── SECURITY.md           # 运行服务器的安全考虑
├── .env.example            # 本地开发示例环境变量
├── src/mcp_browser_use/
│   ├── agent/                # 自定义代理、提示、消息历史记录和视图
│   ├── browser/              # 浏览器会话工厂和持久化助手
│   ├── controller/           # 自定义控制器扩展,用于剪贴板操作
│   ├── utils/                # LLM 工厂、代理状态助手和编码工具
│   ├── client.py             # 连接到 FastMCP 应用的异步助手
│   └── server.py             # FastMCP 应用和 `run_browser_agent` 工具
└── tests/                    # 覆盖服务器助手和代理特性的单元测试

快速开始

要求

  • Python 3.11+
  • Google Chrome 或 Chromium(用于本地自动化)
  • 依赖管理(推荐):uv
  • 可选:Claude Desktop 或另一个 MCP 兼容客户端进行集成测试

安装

git clone https://github.com/JovaniPink/mcp-browser-use.git
cd mcp-browser-use
uv sync

复制 sample.env.env(或以其他方式导出变量),并更新您计划使用的提供商值。

启动服务器

uv run mcp-browser-use

该命令调用在 pyproject.toml 中定义的控制台脚本,启动 FastMCP 应用程序,并注册 run_browser_agent 工具。

使用 Claude Desktop

一旦服务器运行,您可以在 Claude Desktop 中注册它,例如:

"mcpServers": {
  "mcp_server_browser_use": {
    "command": "uvx",
    "args": ["mcp-browser-use"],
    "env": {
      "MCP_MODEL_PROVIDER": "anthropic",
      "MCP_MODEL_NAME": "claude-3-5-sonnet-20241022"
    }
  }
}

调试

对于交互式调试,请使用 MCP Inspector

npx @modelcontextprotocol/inspector uv --directory /path/to/project run mcp-browser-use

检查器打印一个 URL,可以在浏览器中打开以实时查看工具调用和响应。

配置

完整的环境变量及其默认值列表可在 documentation/CONFIGURATION.md 中找到。亮点包括:

  • MCP_MODEL_PROVIDERMCP_MODEL_NAMEMCP_TEMPERATUREMCP_MAX_STEPSMCP_MAX_ACTIONS_PER_STEPMCP_USE_VISION 控制 LLM 和代理运行。
  • 提供商特定的 API 密钥和端点(ANTHROPIC_API_KEYOPENAI_API_KEYDEEPSEEK_API_KEYGOOGLE_API_KEYAZURE_OPENAI_API_KEY 等)。
  • 浏览器运行标志(BROWSER_USE_HEADLESSBROWSER_USE_EXTRA_CHROMIUM_ARGSCHROME_PERSISTENT_SESSIONBROWSER_USE_PROXY_URL 等)。

使用 .env + python-dotenv 或您首选的秘密管理器来保持凭据不进入源代码控制。

运行测试

uv run pytest

测试覆盖了自定义代理行为、浏览器会话工厂和其他实用助手。

安全

远程控制整个浏览器实例可能会授予对主机机器的广泛访问权限。在将服务器暴露于不受信任的环境中之前,请查阅 documentation/SECURITY.md

贡献

  1. 分叉仓库
  2. 创建您的功能分支:git checkout -b my-new-feature
  3. 提交更改:git commit -m '添加某些功能'
  4. 推送到分支:git push origin my-new-feature
  5. 打开拉取请求

欢迎提交 bug 报告和功能建议——请在适用时包含日志和重现步骤。