返回市场
MCP浏览器使用

MCP浏览器使用

作者:Saik0s841 星标更新:2025-06-08

项目介绍

<img src="./assets/header.png" alt="浏览器使用Web UI" width="full"/> <br/>

browser-use MCP服务器及CLI

文档 许可证

项目说明:此MCP服务器实现基于browser-use/web-ui基础构建。核心浏览器自动化逻辑和配置模式从原始项目中继承。

AI驱动的浏览器自动化服务器,实现了模型上下文协议(MCP),用于自然语言控制浏览器和网络研究。同时提供对核心功能的CLI访问。

<a href="https://glama.ai/mcp/servers/@Saik0s/mcp-browser-use"><img width="380" height="200" src="https://gips2.baidu.com/it/u=2348531863,1207185792&fm=3081&app=3081&f=PNG?w=760&h=100" alt="Browser-Use MCP服务器" /></a>

功能

  • 🧠 MCP集成 - 完整协议实现,用于AI代理通信。
  • 🌐 浏览器自动化 - 页面导航、表单填写、元素交互通过自然语言(run_browser_agent工具)。
  • 👁️ 视觉理解 - 可选的截图分析,适用于具有视觉能力的大语言模型。
  • 🔄 状态持久化 - 选项管理跨多个MCP调用的服务器浏览器会话或连接到用户的浏览器。
  • 🔌 多大语言模型支持 - 集成OpenAI、Anthropic、Azure、DeepSeek、Google、Mistral、Ollama、OpenRouter、Alibaba、Moonshot、Unbound AI。
  • 🔍 深度研究工具 - 专门用于多步骤网络研究和报告生成的工具(run_deep_research工具)。
  • ⚙️ 环境变量配置 - 使用结构化的Pydantic模型完全通过环境变量进行配置。
  • 🔗 CDP连接 - 能够通过Chrome DevTools协议连接并控制用户启动的Chrome/Chromium实例。
  • ⌨️ CLI界面 - 从命令行直接访问核心代理功能(run_browser_agentrun_deep_research)进行测试和脚本编写。

快速开始

基础内容

  1. 安装UV - 强大的Python安装器: curl -LsSf https://astral.sh/uv/install.sh | sh

  2. 获取Playwright浏览器(自动化所需): uvx --from mcp-server-browser-use@latest python -m playwright install

集成模式

对于像Claude Desktop这样的MCP客户端,添加一个简单的服务器配置如下:

// 示例1:最新版本的一行配置(始终新鲜)
"mcpServers": {
    "browser-use": {
      "command": "uvx",
      "args": ["mcp-server-browser-use@latest"],
      "env": {
        "MCP_LLM_GOOGLE_API_KEY": "YOUR_KEY_HERE_IF_USING_GOOGLE",
        "MCP_LLM_PROVIDER": "google",
        "MCP_LLM_MODEL_NAME": "gemini-2.5-flash-preview-04-17",
        "MCP_BROWSER_HEADLESS": "true",
      }
    }
}
// 示例2:带有CDP的高级配置
"mcpServers": {
    "browser-use": {
      "command": "uvx",
      "args": ["mcp-server-browser-use@latest"],
      "env": {
        "MCP_LLM_OPENROUTER_API_KEY": "YOUR_KEY_HERE_IF_USING_OPENROUTER",
        "MCP_LLM_PROVIDER": "openrouter",
        "MCP_LLM_MODEL_NAME": "anthropic/claude-3.5-haiku",
        "MCP_LLM_TEMPERATURE": "0.4",

        "MCP_BROWSER_HEADLESS": "false",
        "MCP_BROWSER_WINDOW_WIDTH": "1440",
        "MCP_BROWSER_WINDOW_HEIGHT": "1080",
        "MCP_AGENT_TOOL_USE_VISION": "true",

        "MCP_RESEARCH_TOOL_SAVE_DIR": "/path/to/your/research",
        "MCP_RESEARCH_TOOL_MAX_PARALLEL_BROWSERS": "5",

        "MCP_PATHS_DOWNLOADS": "/path/to/your/downloads",

        "MCP_BROWSER_USE_OWN_BROWSER": "true",
        "MCP_BROWSER_CDP_URL": "http://localhost:9222",

        "MCP_AGENT_TOOL_HISTORY_PATH": "/path/to/your/history",

        "MCP_SERVER_LOGGING_LEVEL": "DEBUG",
        "MCP_SERVER_LOG_FILE": "/path/to/your/log/mcp_server_browser_use.log",
      }
    }
}
// 示例3:带有用户数据和自定义chrome路径的高级配置
"mcpServers": {
    "browser-use": {
      "command": "uvx",
      "args": ["mcp-server-browser-use@latest"],
      "env": {
        "MCP_LLM_OPENAI_API_KEY": "YOUR_KEY_HERE_IF_USING_OPENAI",
        "MCP_LLM_PROVIDER": "openai",
        "MCP_LLM_MODEL_NAME": "gpt-4.1-mini",
        "MCP_LLM_TEMPERATURE": "0.2",

        "MCP_BROWSER_HEADLESS": "false",

        "MCP_BROWSER_BINARY_PATH": "/path/to/your/chrome/binary",
        "MCP_BROWSER_USER_DATA_DIR": "/path/to/your/user/data",
        "MCP_BROWSER_DISABLE_SECURITY": "true",
        "MCP_BROWSER_KEEP_OPEN": "true",
        "MCP_BROWSER_TRACE_PATH": "/path/to/your/trace",

        "MCP_AGENT_TOOL_HISTORY_PATH": "/path/to/your/history",

        "MCP_SERVER_LOGGING_LEVEL": "DEBUG",
        "MCP_SERVER_LOG_FILE": "/path/to/your/log/mcp_server_browser_use.log",
      }
    }
}
// 示例4:本地开发流程
"mcpServers": {
    "browser-use": {
      "command": "uv",
      "args": [
        "--directory",
        "/your/dev/path",
        "run",
        "mcp-server-browser-use"
      ],
      "env": {
        "MCP_LLM_OPENROUTER_API_KEY": "YOUR_KEY_HERE_IF_USING_OPENROUTER",
        "MCP_LLM_PROVIDER": "openrouter",
        "MCP_LLM_MODEL_NAME": "openai/gpt-4o-mini",
        "MCP_BROWSER_HEADLESS": "true",
      }
    }
}

关键见解:最佳配置从简单开始(示例1)。.env.example文件包含了所有可能的设置。

MCP工具

此服务器通过模型上下文协议暴露以下工具:

同步工具(等待完成)

  1. run_browser_agent

    • 描述:根据自然语言指令执行浏览器自动化任务,并等待其完成。使用来自MCP_AGENT_TOOL_*MCP_LLM_*MCP_BROWSER_*环境变量的设置。
    • 参数
      • task (字符串,必需):主要任务或目标。
    • 返回值:(字符串)代理提取的最终结果或错误消息。如果设置了MCP_AGENT_TOOL_HISTORY_PATH,则保存代理历史记录(JSON,可选GIF)。
  2. run_deep_research

    • 描述:对主题进行深入的网络研究,生成报告,并等待完成。使用来自MCP_RESEARCH_TOOL_*MCP_LLM_*MCP_BROWSER_*环境变量的设置。如果设置了MCP_RESEARCH_TOOL_SAVE_DIR,输出将保存在子目录内;否则,仅在内存中操作。
    • 参数
      • research_task (字符串,必需):研究的主题或问题。
      • max_parallel_browsers (整数,可选):覆盖环境中的MCP_RESEARCH_TOOL_MAX_PARALLEL_BROWSERS
    • 返回值:(字符串)以Markdown格式生成的研究报告,包括文件路径(如果已保存)或错误消息。

CLI使用

此包还提供了命令行接口mcp-browser-cli,用于直接测试和脚本编写。

全局选项

  • --env-file PATH, -e PATH:加载配置的.env文件路径。
  • --log-level LEVEL, -l LEVEL:覆盖日志级别(例如,DEBUGINFO)。

命令

  1. mcp-browser-cli run-browser-agent [OPTIONS] TASK

    • 描述:运行浏览器代理任务。
    • 参数
      • TASK (字符串,必需):代理的主要任务。
    • 示例
      mcp-browser-cli run-browser-agent "前往example.com并找到标题。" -e .env
      
  2. mcp-browser-cli run-deep-research [OPTIONS] RESEARCH_TASK

    • 描述:执行深度网络研究。
    • 参数
      • RESEARCH_TASK (字符串,必需):研究的主题或问题。
    • 选项
      • --max-parallel-browsers INTEGER, -p INTEGER:覆盖MCP_RESEARCH_TOOL_MAX_PARALLEL_BROWSERS
    • 示例
      mcp-browser-cli run-deep-research "人工智能驱动的浏览器自动化的最新进展是什么?" --max-parallel-browsers 5 -e .env
      

所有其他配置(LLM密钥、路径、浏览器设置)都从环境变量(或指定的.env文件)中获取,如配置部分所述。

配置(环境变量)

使用环境变量配置服务器和CLI。可以在系统中设置这些变量,或者将其放置在项目根目录下的.env文件中(使用--env-file进行CLI)。变量以前缀分组。

变量组(前缀)示例变量描述默认值
主LLM(MCP_LLM_)代理使用的主LLM设置。
MCP_LLM_PROVIDERLLM提供商。选项:openaiazure_openaianthropicgooglemistralollama等。openai
MCP_LLM_MODEL_NAME提供商的具体模型名称。gpt-4.1
MCP_LLM_TEMPERATURELLM温度(0.0-2.0)。0.0
MCP_LLM_BASE_URL可选:通用覆盖LLM提供商的基础URL。提供商特定
MCP_LLM_API_KEY可选:通用LLM API密钥(优先级高)。-
MCP_LLM_OPENAI_API_KEY如果提供商是openai,则为OpenAI的API密钥。-
MCP_LLM_ANTHROPIC_API_KEYAnthropic的API密钥。-
MCP_LLM_GOOGLE_API_KEYGoogle AI(Gemini)的API密钥。-
MCP_LLM_AZURE_OPENAI_API_KEYAzure OpenAI的API密钥。-
MCP_LLM_AZURE_OPENAI_ENDPOINT如果使用Azure,则需要您的Azure资源端点。-
MCP_LLM_OLLAMA_ENDPOINTOllama API端点URL。http://localhost:11434
MCP_LLM_OLLAMA_NUM_CTXOllama模型的上下文窗口大小。32000
规划LLM(MCP_LLM_PLANNER_)可选:代理规划的单独LLM设置。如果没有设置,默认为主LLM。
MCP_LLM_PLANNER_PROVIDER规划LLM提供商。主LLM提供商
MCP_LLM_PLANNER_MODEL_NAME规划LLM模型名称。主LLM模型
浏览器(MCP_BROWSER_)浏览器一般设置。
MCP_BROWSER_HEADLESS无UI运行浏览器(一般设置)。false
MCP_BROWSER_DISABLE_SECURITY禁用浏览器安全特性(一般设置,谨慎使用)。false
MCP_BROWSER_BINARY_PATH到Chrome/Chromium可执行文件的路径。-
MCP_BROWSER_USER_DATA_DIR到Chrome用户数据目录的路径。-
MCP_BROWSER_WINDOW_WIDTH浏览器窗口宽度(像素)。1280
MCP_BROWSER_WINDOW_HEIGHT浏览器窗口高度(像素)。1080
MCP_BROWSER_USE_OWN_BROWSER通过CDP URL连接到用户的浏览器。false
MCP_BROWSER_CDP_URLCDP URL(例如,http://localhost:9222)。如果MCP_BROWSER_USE_OWN_BROWSER=true,则需要。-
MCP_BROWSER_KEEP_OPEN在MCP调用之间保持服务器管理的浏览器打开(如果MCP_BROWSER_USE_OWN_BROWSER=false)。false
MCP_BROWSER_TRACE_PATH可选:保存Playwright跟踪文件的目录。如果没有设置,将禁用文件跟踪。 (空,禁用跟踪)
代理工具(MCP_AGENT_TOOL_)run_browser_agent工具的设置。
MCP_AGENT_TOOL_MAX_STEPS每次代理运行的最大步骤数。100
MCP_AGENT_TOOL_MAX_ACTIONS_PER_STEP每个代理步骤的最大动作数。5
MCP_AGENT_TOOL_TOOL_CALLING_METHOD工具调用方法('auto','json_schema','function_calling')。auto
MCP_AGENT_TOOL_MAX_INPUT_TOKENSLLM上下文的最大输入标记数。128000
MCP_AGENT_TOOL_USE_VISION启用视觉能力(截图分析)。true
MCP_AGENT_TOOL_HEADLESS覆盖此工具的MCP_BROWSER_HEADLESS(true/false/空)。 (使用一般设置)
MCP_AGENT_TOOL_DISABLE_SECURITY覆盖此工具的MCP_BROWSER_DISABLE_SECURITY(true/false/空)。 (使用一般设置)
MCP_AGENT_TOOL_ENABLE_RECORDING启用Playwright视频录制。false
MCP_AGENT_TOOL_SAVE_RECORDING_PATH可选:保存录制的路径。即使设置了ENABLE_RECORDING=true,如果没有设置,也将禁用文件录制。 (空,禁用录制)
MCP_AGENT_TOOL_HISTORY_PATH可选:保存代理历史记录JSON文件的目录。如果没有设置,将禁用历史记录保存。 (空,禁用历史记录保存)
研究工具(MCP_RESEARCH_TOOL_)run_deep_research工具的设置。
MCP_RESEARCH_TOOL_MAX_PARALLEL_BROWSERS深度研究的最大并行浏览器实例数。3
MCP_RESEARCH_TOOL_SAVE_DIR可选:保存研究工件的基本目录。任务ID将被追加。如果没有设置,将在内存中操作。None
路径(MCP_PATHS_)一般路径设置。
MCP_PATHS_DOWNLOADS可选:下载文件的目录。如果没有设置,将禁用特定路径的持久下载。 (空,禁用下载)
服务器(MCP_SERVER_)服务器特定设置。
MCP_SERVER_LOG_FILE服务器日志文件的路径。为空时输出到stdout。 (空,日志输出到stdout)
MCP_SERVER_LOGGING_LEVEL日志级别(DEBUGINFOWARNINGERRORCRITICAL)。ERROR
M_服务器匿名遥测启用/禁用匿名遥测(true/false)。true
MCP_SERVER_MCP_CONFIG可选:内部控制器使用的MCP客户端配置的JSON字符串。null

支持的LLM提供商(MCP_LLM_PROVIDERopenaiazure_openaianthropicgooglemistralollamadeepseekopenrouter,`alibaba