Browser-Use MCP Server

by Saik0s
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Integration with Google's Gemini language models via their API for AI-driven browser automation

  • Integration with Ollama for local language model inference to power browser automation

  • Integration with OpenAI's language models via their API for AI-driven browser automation

浏览器使用的 MCP 服务器

项目说明:此 MCP 服务器实现基于浏览器使用/Web UI基础。核心浏览器自动化逻辑和配置模式均改编自原始项目。

人工智能驱动的浏览器自动化服务器,实现模型上下文协议 (MCP),用于自然语言浏览器控制和网络研究。

特征

  • 🧠 MCP 集成- 实现 AI 代理通信的完整协议。
  • 🌐浏览器自动化- 通过自然语言进行页面导航、表单填写、元素交互( run_browser_agent工具)。
  • 👁️视觉理解- 针对具有视觉能力的 LLM 的可选屏幕截图分析。
  • 🔄状态持久性- 跨多个 MCP 调用管理浏览器会话或连接到用户浏览器的选项。
  • 🔌多 LLM 支持- 与 OpenAI、Anthropic、Azure、DeepSeek、Google、Mistral、Ollama、OpenRouter、Alibaba、Moonshot、Unbound AI 集成。
  • 🔍深度研究工具- 用于多步骤网络研究和报告生成的专用工具( run_deep_search工具)。
  • ⚙️环境变量配置- 可通过环境变量完全配置。
  • 🔗 CDP 连接- 能够通过 Chrome DevTools 协议连接并控制用户启动的 Chrome/Chromium 实例。

快速入门

先决条件

  • Python 3.11 或更高版本
  • uv (快速 Python 包安装程序): pip install uv
  • 已安装 Chrome/Chromium 浏览器
  • 安装 Playwright 浏览器: uv sync然后uv run playwright install

与 MCP 客户端集成(例如 Claude Desktop)

您可以配置像 Claude Desktop 这样的客户端来连接到此服务器。将以下结构添加到客户端的配置中(例如claude_desktop_config.json ),并根据需要调整路径和环境变量:

// Example for Claude Desktop config "mcpServers": { "browser-use": { // Option 1: Run installed package // "command": "uvx", // "args": ["mcp-server-browser-use"], // Option 2: Run from local development source "command": "uv", "args": [ "--directory", "/path/to/mcp-server-browser-use", "run", "mcp-server-browser-use" ], "env": { // --- CRITICAL: Add required API keys here --- "OPENROUTER_API_KEY": "YOUR_OPENROUTER_API_KEY", // "OPENAI_API_KEY": "YOUR_KEY_HERE_IF_USING_OPENAI", // "ANTHROPIC_API_KEY": "YOUR_KEY_HERE_IF_USING_ANTHROPIC", // ... add other keys based on MCP_MODEL_PROVIDER ... // --- Optional Overrides (defaults are usually fine) --- "MCP_MODEL_PROVIDER": "openrouter", // Use OpenRouter as provider "MCP_MODEL_NAME": "google/gemini-2.5-pro-exp-03-25:free", // Example OpenRouter model "BROWSER_HEADLESS": "true", // Default: run browser without UI "BROWSER_USE_LOGGING_LEVEL": "INFO", // --- Example for connecting to your own browser --- // "MCP_USE_OWN_BROWSER": "true", // "CHROME_CDP": "http://localhost:9222", // Ensure Python uses UTF-8 "PYTHONIOENCODING": "utf-8", "PYTHONUNBUFFERED": "1", "PYTHONUTF8": "1" } } }

**重要提示:**请确保commandargs正确指向您想要运行服务器的方式(无论是从已安装的包还是从源目录运行)。在env部分中设置必要的 API 密钥。

MCP 工具

该服务器通过模型上下文协议公开以下工具:

同步工具(等待完成)

  1. run_browser_agent
    • **描述:**根据自然语言指令执行浏览器自动化任务并等待其完成。使用以MCP_为前缀的设置(例如MCP_HEADLESSMCP_MAX_STEPS )。
    • 参数:
      • task (字符串,必需):主要任务或目标。
      • add_infos (字符串,可选):代理的附加上下文或提示(由custom代理类型使用)。
    • **返回:(**字符串)代理提取的最终结果或错误消息。
  2. run_deep_search
    • **描述:**针对特定主题进行深入的网络研究,生成报告并等待完成。使用以MCP_RESEARCH_为前缀的设置以及通用的BROWSER_设置(例如BROWSER_HEADLESS )。
    • 参数:
      • research_task (字符串,必需):研究的主题或问题。
      • max_search_iterations (整数,可选,默认值:10):最大搜索周期。
      • max_query_per_iteration (整数,可选,默认值:3):每个周期的最大搜索查询数。
    • **返回:(**字符串)生成的Markdown格式的研究报告,包括文件路径,或者错误信息。

配置(环境变量)

使用环境变量配置服务器。您可以在系统中设置这些变量,也可以将它们放在项目根目录下的.env文件中。

多变的描述必需的?默认值示例值
LLM 设置
MCP_MODEL_PROVIDER使用的 LLM 提供商。请参阅以下选项。是的anthropicopenrouter
MCP_MODEL_NAME所选提供商的具体型号名称。claude-3-7-sonnet-20250219anthropic/claude-3.7-sonnet
MCP_TEMPERATURELLM 温度(0.0-2.0)。控制随机性。0.00.7
MCP_TOOL_CALLING_METHOD工具调用方法('auto'、'json_schema'、'function_calling')。影响run_browser_agentautojson_schema
MCP_MAX_INPUT_TOKENSrun_browser_agent的 LLM 上下文的最大输入令牌。12800064000
MCP_BASE_URL可选:LLM 提供商基本 URL 的通用覆盖。特定于提供商http://localhost:8080/v1
MCP_API_KEY可选:LLM 提供商 API 密钥的通用覆盖(优先于提供商特定的密钥)。-sk-...
提供商 API 密钥除非设置了MCP_API_KEY ,否则需要基于MCP_MODEL_PROVIDER
OPENAI_API_KEYOpenAI 的 API 密钥。如果使用-sk-...
ANTHROPIC_API_KEYAnthropic 的 API 密钥。如果使用-sk-ant-...
GOOGLE_API_KEYGoogle AI(Gemini)的 API 密钥。如果使用-AIza...
AZURE_OPENAI_API_KEYAzure OpenAI 的 API 密钥。如果使用-...
DEEPSEEK_API_KEYDeepSeek 的 API 密钥。如果使用-sk-...
MISTRAL_API_KEYMistral AI 的 API 密钥。如果使用-...
OPENROUTER_API_KEYOpenRouter 的 API 密钥。如果使用-sk-or-...
ALIBABA_API_KEY阿里云 (DashScope) 的 API 密钥。如果使用-sk-...
MOONSHOT_API_KEYMoonshot AI 的 API 密钥。如果使用-sk-...
UNBOUND_API_KEYUnbound AI 的 API 密钥。如果使用-...
提供商端点可选:覆盖默认 API 端点。
OPENAI_ENDPOINTOpenAI API 端点 URL。https://api.openai.com/v1
ANTHROPIC_ENDPOINTAnthropic API 端点 URL。https://api.anthropic.com
AZURE_OPENAI_ENDPOINT**如果使用 Azure,则为必需。**你的 Azure 资源终结点。如果使用-https://res.openai.azure.com/
AZURE_OPENAI_API_VERSIONAzure API 版本。2025-01-01-preview2023-12-01-preview
DEEPSEEK_ENDPOINTDeepSeek API 端点 URL。https://api.deepseek.com
MISTRAL_ENDPOINTMistral API 端点 URL。https://api.mistral.ai/v1
OLLAMA_ENDPOINTOllama API 端点 URL。http://localhost:11434http://ollama.local:11434
OPENROUTER_ENDPOINTOpenRouter API 端点 URL。https://openrouter.ai/api/v1
ALIBABA_ENDPOINT阿里巴巴 (DashScope) API 端点 URL。https://dashscope...v1
MOONSHOT_ENDPOINTMoonshot API 端点 URL。https://api.moonshot.cn/v1
UNBOUND_ENDPOINT未绑定的 AI API 端点 URL。https://api.getunbound.ai
Ollama 专用
OLLAMA_NUM_CTXOllama 模型的上下文窗口大小。320008192
OLLAMA_NUM_PREDICT用于预测 Ollama 模型的最大标记数。10242048
代理设置( run_browser_agent
MCP_AGENT_TYPErun_browser_agent的代理实现(“org”或“custom”)。orgcustom
MCP_MAX_STEPS每次代理运行的最大步数。10050
MCP_USE_VISION启用视觉功能(屏幕截图分析)。truefalse
MCP_MAX_ACTIONS_PER_STEP每个代理步骤的最大操作数。510
MCP_KEEP_BROWSER_OPENrun_browser_agent调用期间保持服务器管理的浏览器打开(如果MCP_USE_OWN_BROWSER=false )。falsetrue
MCP_ENABLE_RECORDINGrun_browser_agent启用 Playwright 视频录制。falsetrue
MCP_SAVE_RECORDING_PATH保存代理运行视频记录的路径(如果MCP_ENABLE_RECORDING=true则必需)。如果录音-./tmp/recordings
MCP_AGENT_HISTORY_PATH保存代理历史 JSON 文件的目录。./tmp/agent_history./agent_runs
MCP_HEADLESS专为run_browser_agent工具运行无 UI 的浏览器。truefalse
MCP_DISABLE_SECURITY禁用专门针对run_browser_agent工具的浏览器安全功能(谨慎使用)。truefalse
深度研究设置( run_deep_search
MCP_RESEARCH_MAX_ITERATIONS最大搜索迭代次数,用于深入研究。105
MCP_RESEARCH_MAX_QUERY每次迭代的最大搜索查询数。35
MCP_RESEARCH_USE_OWN_BROWSER使用单独的浏览器实例进行研究(如果MCP_USE_OWN_BROWSER=true则需要CHROME_CDP )。falsetrue
MCP_RESEARCH_SAVE_DIR保存研究成果(报告、结果)的目录。./tmp/deep_research/{task_id}./research_output
MCP_RESEARCH_AGENT_MAX_STEPS深入研究中的子代理的最大步骤。1015
浏览器设置(常规和特定工具覆盖)
MCP_USE_OWN_BROWSER设置为 true 以通过CHROME_CDP连接到用户的浏览器,而不是启动新的浏览器。falsetrue
CHROME_CDP通过 DevTools 协议 URL 连接到现有的 Chrome。如果MCP_USE_OWN_BROWSER=true ,则必须使用此选项。如果MCP_USE_OWN_BROWSER=true-http://localhost:9222
BROWSER_HEADLESS运行浏览器时不显示可见的 UI。主要影响run_deep_search 。另请参阅MCP_HEADLESStruefalse
BROWSER_DISABLE_SECURITY常规浏览器安全设置。另请参阅MCP_DISABLE_SECURITYfalsetrue
CHROME_PATHChrome/Chromium 可执行文件的路径。-/usr/bin/chromium-browser
CHROME_USER_DATAChrome 用户数据目录的路径(用于持久会话,与CHROME_CDP一起使用)。-~/.config/google-chrome/Profile 1
BROWSER_TRACE_PATH保存 Playwright 跟踪文件的目录(用于调试)。./tmp/trace./traces
BROWSER_WINDOW_WIDTH浏览器窗口宽度(像素)。12801920
BROWSER_WINDOW_HEIGHT浏览器窗口高度(像素)。7201080
服务器和日志
LOG_FILE服务器日志文件的路径。mcp_server_browser_use.log/var/log/mcp_browser.log
BROWSER_USE_LOGGING_LEVEL日志级别( DEBUGINFOWARNINGERRORCRITICAL )。INFODEBUG
ANONYMIZED_TELEMETRY启用/禁用匿名遥测( true / false )。truefalse

支持的 LLM 提供程序( MCP_MODEL_PROVIDER ):

openaiazure_openaianthropicgooglemistralollamadeepseekopenrouteralibabamoonshotunbound

连接到您自己的浏览器(CDP)

您可以将其连接到您自行启动和管理的 Chrome/Chromium 浏览器,而无需让服务器启动和管理其自身的浏览器实例。这适用于:

  • 使用您现有的浏览器配置文件(cookie、登录、扩展)。
  • 直接在您自己的浏览器窗口中观察自动化过程。
  • 调试复杂场景。

步骤:

  1. **启动 Chrome/Chromium 并启用远程调试:**打开终端或命令提示符,并运行适用于您操作系统的命令。这会指示 Chrome 监听特定端口(例如 9222)上的连接。
    • macOS:
      /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
      (如果 Chrome 安装在其他地方,请调整路径)
    • Linux:
      google-chrome --remote-debugging-port=9222 # or chromium-browser --remote-debugging-port=9222
    • Windows(命令提示符):
      "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
      (如有必要,请调整 Chrome 安装路径)
    • Windows(PowerShell):
      & "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
      (如有必要,请调整 Chrome 安装路径)

    **注意:**如果端口 9222 已被使用,请选择其他端口(例如 9223)并在CHROME_CDP环境变量中使用相同的端口。

  2. **配置环境变量:**在启动 MCP 服务器之前,在.env文件或系统环境中设置以下环境变量:
    MCP_USE_OWN_BROWSER=true CHROME_CDP=http://localhost:9222 # Use the same port you launched Chrome with
    • MCP_USE_OWN_BROWSER=true :告诉服务器连接到现有浏览器而不是启动一个浏览器。
    • CHROME_CDP :指定服务器可以连接到浏览器的 DevTools 协议端点的 URL。
  3. **运行 MCP 服务器:**照常启动服务器:
    uv run mcp-server-browser-use

现在,当您使用run_browser_agentrun_deep_search工具时,服务器将连接到您正在运行的 Chrome 实例,而不是创建一个新的实例。

重要注意事项:

  • 使用--remote-debugging-port启动的浏览器在 MCP 服务器运行并需要与其交互时必须保持打开状态。
  • 确保CHROME_CDP URL 可以从 MCP 服务器运行的位置访问(如果在同一台机器上运行,通常为http://localhost:PORT )。
  • 使用您自己的浏览器意味着服务器会继承其状态(打开的标签页、登录的会话)。在自动化过程中请注意这一点。
  • MCP_USE_OWN_BROWSER=true时, MCP_HEADLESSBROWSER_HEADLESSMCP_KEEP_BROWSER_OPEN等设置将被忽略。窗口大小由您的浏览器窗口决定。

发展

# Install dev dependencies and sync project deps uv sync --dev # Install playwright browsers uv run playwright install # Run with debugger (Example connecting to own browser via CDP) # 1. Launch Chrome: google-chrome --remote-debugging-port=9222 # 2. Run inspector command: npx @modelcontextprotocol/inspector@latest \ -e OPENROUTER_API_KEY=$OPENROUTER_API_KEY \ -e MCP_MODEL_PROVIDER=openrouter \ -e MCP_MODEL_NAME=anthropic/claude-3.7-sonnet \ -e MCP_USE_OWN_BROWSER=true \ -e CHROME_CDP=http://localhost:9222 \ uv --directory . run mcp run src/mcp_server_browser_use/server.py # Note: Change timeout in inspector's config panel if needed (default is 10 seconds)

故障排除

  • 浏览器冲突:如果使用CHROME_CDPMCP_USE_OWN_BROWSER=false ),请确保在指定了CHROME_USER_DATA的情况下,没有其他冲突的 Chrome 实例使用相同的用户数据目录运行。
  • CDP 连接问题:如果使用MCP_USE_OWN_BROWSER=true
    • 验证 Chrome 是否已使用--remote-debugging-port标志启动。
    • 确保CHROME_CDP中的端口与启动 Chrome 时使用的端口匹配。
    • 检查是否存在阻止与指定端口连接的防火墙问题。
    • 确保浏览器仍在运行。
  • API 错误:请仔细检查所选的MCP_MODEL_PROVIDER是否设置了正确的 API 密钥环境变量( OPENAI_API_KEYANTHROPIC_API_KEY等),或者MCP_API_KEY是否已设置。请验证密钥和端点(Azure 需要AZURE_OPENAI_ENDPOINT )。
  • 视觉问题:如果使用视觉功能,请确保MCP_USE_VISION=true ,并且您选择的 LLM 模型支持视觉。
  • 依赖项问题:运行uv sync以确保所有依赖项均已正确安装。请检查pyproject.toml
  • 日志记录:检查由LOG_FILE指定的日志文件(默认值: mcp_server_browser_use.log )以获取详细的错误消息。将BROWSER_USE_LOGGING_LEVEL提升至DEBUG可获得更详细的输出。

执照

MIT——详情请参阅许可证

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

通过浏览器使用库集成的自定义功能和基于代理的交互来促进浏览器自动化。

  1. Features
    1. Quick Start
      1. Prerequisites
      2. Integration with MCP Clients (e.g., Claude Desktop)
    2. MCP Tools
      1. Synchronous Tools (Wait for Completion)
    3. Configuration (Environment Variables)
      1. Connecting to Your Own Browser (CDP)
        1. Development
          1. Troubleshooting
            1. License
              ID: dz6dy5hw59