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 标志,而无需修改代理逻辑。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/ # 覆盖服务器助手和代理特性的单元测试
uvgit 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 中注册它,例如:
"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_PROVIDER、MCP_MODEL_NAME、MCP_TEMPERATURE、MCP_MAX_STEPS、MCP_MAX_ACTIONS_PER_STEP 和 MCP_USE_VISION 控制 LLM 和代理运行。ANTHROPIC_API_KEY、OPENAI_API_KEY、DEEPSEEK_API_KEY、GOOGLE_API_KEY、AZURE_OPENAI_API_KEY 等)。BROWSER_USE_HEADLESS、BROWSER_USE_EXTRA_CHROMIUM_ARGS、CHROME_PERSISTENT_SESSION、BROWSER_USE_PROXY_URL 等)。使用 .env + python-dotenv 或您首选的秘密管理器来保持凭据不进入源代码控制。
uv run pytest
测试覆盖了自定义代理行为、浏览器会话工厂和其他实用助手。
远程控制整个浏览器实例可能会授予对主机机器的广泛访问权限。在将服务器暴露于不受信任的环境中之前,请查阅 documentation/SECURITY.md。
git checkout -b my-new-featuregit commit -m '添加某些功能'git push origin my-new-feature欢迎提交 bug 报告和功能建议——请在适用时包含日志和重现步骤。