Skip to main content
Glama
Browser-Use MCP Server

Browser-Use MCP Server

by Saik0s

MCP-сервер и CLI для браузера

Документация Лицензия

Примечание к проекту : Эта реализация сервера MCP основана на основе браузера-использования/веб-пользователя . Основная логика автоматизации браузера и шаблоны конфигурации адаптированы из оригинального проекта.

Сервер автоматизации браузера на базе ИИ, реализующий протокол Model Context Protocol (MCP) для управления браузером на естественном языке и веб-исследований. Также предоставляет доступ CLI к своим основным функциям.

Функции

  • 🧠 Интеграция MCP — полная реализация протокола для связи с агентами ИИ.

  • 🌐 Автоматизация браузера — навигация по страницам, заполнение форм, взаимодействие с элементами на естественном языке (инструмент run_browser_agent ).

  • 👁️ Визуальное понимание — дополнительный анализ снимков экрана для обладателей степени магистра права с хорошим зрением.

  • 🔄 Сохранение состояния — возможность управлять сеансом браузера сервера через несколько вызовов MCP или подключаться к браузеру пользователя.

  • 🔌 Поддержка нескольких LLM — интеграция с OpenAI, Anthropic, Azure, DeepSeek, Google, Mistral, Ollama, OpenRouter, Alibaba, Moonshot, Unbound AI.

  • 🔍 Deep Research Tool — специализированный инструмент для многоэтапного веб-исследования и создания отчетов (инструмент run_deep_research ).

  • ⚙️ Конфигурация переменных среды — полностью настраивается с помощью переменных среды с использованием структурированной модели Pydantic.

  • 🔗 Подключение CDP — возможность подключения и управления запущенным пользователем экземпляром Chrome/Chromium через протокол Chrome DevTools.

  • ⌨️ Интерфейс командной строки — доступ к основным функциям агента ( run_browser_agent , run_deep_research ) непосредственно из командной строки для тестирования и создания сценариев.

Related MCP server: jev-browser

Быстрый старт

Основы

  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

Модели интеграции

Для клиентов MCP, таких как Claude Desktop, добавьте простую конфигурацию сервера:

// Example 1: One-Line Latest Version (Always Fresh)
"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",
      }
    }
}
// Example 2: Advanced Configuration with 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",
      }
    }
}
// Example 3: Advanced Configuration with User Data and custom chrome path
"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",
      }
    }
}
// Example 4: Local Development Flow
"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 содержит все возможные циферблаты.

Инструменты МКП

Этот сервер предоставляет следующие инструменты через протокол контекста модели:

Синхронные инструменты (ожидание завершения)

  1. run_browser_agent

    • Описание: Выполняет задачу автоматизации браузера на основе инструкций естественного языка и ждет ее завершения. Использует настройки из переменных среды MCP_AGENT_TOOL_* , MCP_LLM_* и MCP_BROWSER_* .

    • Аргументы:

      • task (строка, обязательно): Основная задача или цель.

    • Возвращает: (строка) Окончательный результат, извлеченный агентом, или сообщение об ошибке. История агента (JSON, необязательно GIF) сохраняется, если задано MCP_AGENT_TOOL_HISTORY_PATH .

  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 : Переопределить уровень ведения журнала (например, DEBUG , INFO ).

Команды:

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

    • Описание: Запускает задачу агента браузера.

    • Аргументы:

      • TASK (строка, обязательно): Основная задача для агента.

    • Пример:

      mcp-browser-cli run-browser-agent "Go to example.com and find the title." -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 "What are the latest advancements in AI-driven browser automation?" --max-parallel-browsers 5 -e .env

Все остальные конфигурации (ключи LLM, пути, настройки браузера) берутся из переменных среды (или указанного файла .env ), как подробно описано в разделе «Конфигурация».

Конфигурация (переменные среды)

Настройте сервер и CLI с помощью переменных окружения. Вы можете задать их в своей системе или поместить в файл .env в корне проекта (используйте --env-file для CLI). Переменные структурированы с помощью префиксов.

Группа переменных (префикс)

Пример переменной

Описание

Значение по умолчанию

Основная степень магистра права (MCP_LLM_)

Настройки для основного LLM, используемого агентами.

MCP_LLM_PROVIDER

Поставщик LLM. Варианты: openai , azure_openai , anthropic , google , mistral , ollama и т. д.

openai

MCP_LLM_MODEL_NAME

Конкретное название модели для поставщика.

gpt-4.1

MCP_LLM_TEMPERATURE

Температура LLM (0,0-2,0).

0.0

MCP_LLM_BASE_URL

Необязательно: общее переопределение базового URL-адреса поставщика LLM.

Специфичный для поставщика

MCP_LLM_API_KEY

Необязательно: универсальный ключ LLM API (имеет приоритет).

-

MCP_LLM_OPENAI_API_KEY

Ключ API для OpenAI (если поставщик — openai ).

-

MCP_LLM_ANTHROPIC_API_KEY

API-ключ для Anthropic.

-

MCP_LLM_GOOGLE_API_KEY

API-ключ для Google AI (Gemini).

-

MCP_LLM_AZURE_OPENAI_API_KEY

Ключ API для Azure OpenAI.

-

MCP_LLM_AZURE_OPENAI_ENDPOINT

Требуется при использовании Azure. Ваша конечная точка ресурса Azure.

-

MCP_LLM_OLLAMA_ENDPOINT

URL-адрес конечной точки API Ollama.

http://localhost:11434

MCP_LLM_OLLAMA_NUM_CTX

Размер контекстного окна для моделей Ollama.

32000

Планировщик LLM (MCP_LLM_PLANNER_)

Необязательно: Настройки для отдельного LLM для планирования агента. По умолчанию используется Main LLM, если не задано.

MCP_LLM_PLANNER_PROVIDER

Поставщик услуг LLM Planner.

Основной поставщик LLM

MCP_LLM_PLANNER_MODEL_NAME

Название модели Planner LLM.

Основная модель LLM

Браузер (MCP_BROWSER_)

Общие настройки браузера.

MCP_BROWSER_HEADLESS

Запустить браузер без пользовательского интерфейса (общие настройки).

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

Подключитесь к браузеру пользователя через URL-адрес CDP.

false

MCP_BROWSER_CDP_URL

URL-адрес CDP (например, 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_TOKENS

Максимальное количество входных токенов для контекста LLM.

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

Необязательно: Базовый каталог для сохранения исследовательских артефактов. Будет добавлен идентификатор задачи. Если не задано, работает в режиме только памяти.

None

Пути (MCP_PATHS_)

Общие настройки пути.

MCP_PATHS_DOWNLOADS

Необязательно: Каталог для загруженных файлов. Если не задано, постоянные загрузки по указанному пути отключены.

(пусто, загрузки отключены)

Сервер (MCP_SERVER_)

Настройки, специфичные для сервера.

MCP_SERVER_LOG_FILE

Путь к файлу журнала сервера. Пустой для stdout.

(пусто, выводит на стандартный вывод)

MCP_SERVER_LOGGING_LEVEL

Уровень ведения журнала ( DEBUG , INFO , WARNING , ERROR , CRITICAL ).

ERROR

MCP_SERVER_ANONYMIZED_TELEMETRY

Включить/отключить анонимную телеметрию ( true / false ).

true

MCP_SERVER_MCP_CONFIG

Необязательно: строка JSON для конфигурации клиента MCP, используемая внутренним контроллером.

null

Поддерживаемые поставщики LLM ( MCP_LLM_PROVIDER ): openai , azure_openai , anthropic , google , mistral , ollama , deepseek , openrouter , alibaba , moonshot , unbound

(Полный список всех поддерживаемых переменных среды и их конкретных ключей/конечных точек поставщика см. в .env.example .)

Подключение к собственному браузеру (CDP)

Вместо того чтобы сервер запускал и управлял собственным экземпляром браузера, вы можете подключить его к браузеру Chrome/Chromium, который вы запускаете и управляете самостоятельно.

Шаги:

  1. Запустите Chrome/Chromium с включенной удаленной отладкой: (команды для macOS, Linux, Windows перечислены ранее, например, google-chrome --remote-debugging-port=9222 )

  2. Настройте переменные среды: установите следующие переменные среды:

    MCP_BROWSER_USE_OWN_BROWSER=true
    MCP_BROWSER_CDP_URL=http://localhost:9222 # Use the same port
    # Optional: MCP_BROWSER_USER_DATA_DIR=/path/to/your/profile
  3. Запустите сервер MCP или CLI: Запустите сервер ( uv run mcp-server-browser-use ) или CLI ( mcp-browser-cli ... ) как обычно.

Важные соображения:

  • Браузер, запущенный с --remote-debugging-port должен оставаться открытым.

  • Такие настройки, как MCP_BROWSER_HEADLESS и MCP_BROWSER_KEEP_OPEN игнорируются, если MCP_BROWSER_USE_OWN_BROWSER=true .

Разработка

# Install dev dependencies and sync project deps
uv sync --dev

# Install playwright browsers
uv run playwright install

# Run MCP server with debugger (Example connecting to own browser via CDP)
# 1. Launch Chrome: google-chrome --remote-debugging-port=9222 --user-data-dir="optional/path/to/user/profile"
# 2. Run inspector command with environment variables:
npx @modelcontextprotocol/inspector@latest \
  -e MCP_LLM_GOOGLE_API_KEY=$GOOGLE_API_KEY \
  -e MCP_LLM_PROVIDER=google \
  -e MCP_LLM_MODEL_NAME=gemini-2.5-flash-preview-04-17 \
  -e MCP_BROWSER_USE_OWN_BROWSER=true \
  -e MCP_BROWSER_CDP_URL=http://localhost:9222 \
  -e MCP_RESEARCH_TOOL_SAVE_DIR=./tmp/dev_research_output \
  uv --directory . run mcp-server-browser-use

# Note: Change timeout in inspector's config panel if needed (default is 10 seconds)

# Run CLI example
# Create a .env file with your settings (including MCP_RESEARCH_TOOL_SAVE_DIR) or use environment variables
uv run mcp-browser-cli -e .env run-browser-agent "What is the title of example.com?"
uv run mcp-browser-cli -e .env run-deep-research "What is the best material for a pan for everyday use on amateur kitchen and dishwasher?"

Поиск неисправностей

  • Ошибка конфигурации при запуске : если приложение не запускается из-за ошибки об отсутствующем параметре, убедитесь, что все обязательные переменные среды (например, MCP_RESEARCH_TOOL_SAVE_DIR ) правильно заданы в вашей среде или файле .env .

  • Конфликты браузеров : если CDP не используется ( MCP_BROWSER_USE_OWN_BROWSER=false ), убедитесь, что не запущены конфликтующие экземпляры Chrome с тем же каталогом пользовательских данных, если указан MCP_BROWSER_USER_DATA_DIR .

  • Проблемы с подключением CDP : Если используется MCP_BROWSER_USE_OWN_BROWSER=true :

    • Убедитесь, что Chrome запущен с --remote-debugging-port .

    • Убедитесь, что порт в MCP_BROWSER_CDP_URL совпадает.

    • Проверьте брандмауэры и убедитесь, что браузер запущен.

  • Ошибки API : дважды проверьте ключи API ( MCP_LLM_<PROVIDER>_API_KEY или MCP_LLM_API_KEY ) и конечные точки (например, MCP_LLM_AZURE_OPENAI_ENDPOINT для Azure).

  • Проблемы со зрением : убедитесь, что MCP_AGENT_TOOL_USE_VISION=true и ваша степень магистра права поддерживает зрение.

  • Проблемы с зависимостями : Запустите uv sync и uv run playwright install .

  • Проблемы с файлами/путями :

    • Если дополнительные функции, такие как сохранение истории, трассировка или загрузки, не работают, убедитесь, что установлены соответствующие переменные пути ( MCP_AGENT_TOOL_HISTORY_PATH , MCP_BROWSER_TRACE_PATH , MCP_PATHS_DOWNLOADS ) и у приложения есть разрешения на запись в эти расположения.

    • Для более глубокого исследования убедитесь, что MCP_RESEARCH_TOOL_SAVE_DIR установлен в допустимом каталоге с возможностью записи.

  • Ведение журнала : Проверьте файл журнала ( MCP_SERVER_LOG_FILE , если установлен) или вывод консоли. Увеличьте MCP_SERVER_LOGGING_LEVEL до DEBUG для получения более подробной информации. Для CLI используйте --log-level DEBUG .

Лицензия

MIT — подробности см. в разделе ЛИЦЕНЗИЯ .

Available Tools

1 tool
run_browser_agentD

Handle run-browser-agent tool calls.

Inputs: task (required), add_infos.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    D1.8/5.0

    Scored across 1 tool

    Disambiguation5/5

    With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'run_browser_agent' has a clearly distinct purpose with no other tools to confuse it with.

    Naming Consistency5/5

    The naming pattern cannot be inconsistent with only one tool. The tool name 'run_browser_agent' follows a clear verb_noun pattern, and there are no other tools to deviate from this convention.

    Tool Count2/5

    A single tool is too few for a server named 'Browser-Use MCP Server', which suggests a broader scope for browser automation. One tool feels thin and inadequate for handling various browser-related tasks like navigation, clicking, or form filling.

    Completeness1/5

    The tool set is severely incomplete for browser automation. With only a 'run_browser_agent' tool, there are obvious gaps in basic operations such as opening pages, interacting with elements, or retrieving content, making it impossible for agents to perform typical browser tasks.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables browser automation with anti-detection features, including navigation, interaction, form filling, and session management.
      22
      36 PyPI
      10
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables browser automation through MCP with native Playwright operations, deterministic assertions, and natural-language grounded actions, structured extraction, and bounded agent workflows over live page elements.
      13
      Apache 2.0
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables AI agents to perform Playwright-compatible browser automation with persistent profiles, proxy routing, extension loading, and humanized mouse, keyboard, and scroll interactions over stdio, Streamable HTTP, npm, or Docker.
      431 npm
      MIT
    • A
      license
      Not graded
      quality
      A
      maintenance
      Enables AI agents to drive a Chromium-based browser for web research, testing, and automation with Playwright-compatible tools, persistent profiles, proxy matching, extension loading, and humanized input across local or containerized deployments.
      431 npm
      MIT