MCP浏览器使用服务器
](https://smithery.ai/server/@JovaniPink/mcp-browser-use)
模型上下文协议(MCP)服务器,用于连接(或集成) 浏览器使用 兼容Claude Desktop及其他MCP客户端。
概述
这个仓库提供了一个生产就绪的封装,围绕着 browser-use 自动化引擎。它提供了一个单一的MCP工具(run_browser_agent) 负责协调浏览器会话,执行 browser-use 代理(agent)处理后,将最终结果返回给客户端。重构后的布局注重将配置集中管理,提高可测试性,并保持(代码的)清晰性 browser-use 与MCP特定代码分离的升级。
关键能力
- 自动化浏览 – 导航、与表单交互、控制标签页、捕获屏幕截图,并通过由(某系统/工具)执行的自然语言指令阅读页面内容
browser-use。 - 代理生命周期管理 –
CustomAgent包装(材料)browser-use其基础代理增加了历史记录导出功能、更丰富的提示,并在多次运行中实现了统一的错误处理。 - 集中式浏览器配置 –
create_browser_session将环境变量转换为可直接使用的格式BrowserSession实现持久配置文件、代理和自定义Chromium标志,而无需修改代理逻辑。 - FastMCP集成 –
server.py注册MCP工具,规范化配置,并确保浏览器会话始终得到清理。 - 客户端助手 –
client.py包含用于测试或其他希望在进程内测试MCP服务器的Python进程的异步辅助工具。
项目结构
.
├── documentation/
│ ├── CONFIGURATION.md # Detailed configuration reference
│ └── SECURITY.md # Security considerations for running the server
├── .env.example # Example environment variables for local development
├── src/mcp_browser_use/
│ ├── agent/ # Custom agent, prompts, message history, and views
│ ├── browser/ # Browser session factory and persistence helpers
│ ├── controller/ # Custom controller extensions for clipboard actions
│ ├── utils/ # LLM factory, agent state helpers, encoding utilities
│ ├── client.py # Async helper for connecting to the FastMCP app
│ └── server.py # FastMCP app and the `run_browser_agent` tool
└── tests/ # Unit tests covering server helpers and agent features入门指南/开始使用
要求
- 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 to .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 检查员:
npx @modelcontextprotocol/inspector uv --directory /path/to/project run mcp-browser-use检查器会打印出一个URL,该URL可以在浏览器中打开,以实时查看工具调用和响应。
配置
完整的环境变量及其默认值列表可在此处查看: 文档/CONFIGURATION.md亮点包括:
MCP_MODEL_PROVIDER,MCP_MODEL_NAME,MCP_TEMPERATURE,MCP_MAX_STEPS,MCP_MAX_ACTIONS_PER_STEP,和MCP_USE_VISION控制大型语言模型(LLM)和代理的运行。- 提供商特定的API密钥和终端点(
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这些测试涵盖了自定义代理行为、浏览器会话工厂以及其他实用辅助工具。
安全
远程控制完整的浏览器实例可能会授予对主机机器的广泛访问权限。请审查 文档/SECURITY.md(或:安全说明文档/SECURITY.md) 在将服务器暴露于不可信环境之前。
做出贡献
- 为仓库创建分支(或:克隆仓库)
- 创建你的特性分支:
git checkout -b my-new-feature - 提交您的更改:
git commit -m 'Add some feature' - 推送到分支:
git push origin my-new-feature - 提交一个拉取请求
欢迎提交错误报告和功能建议——如适用,请附上日志和复现步骤。
