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
) непосредственно из командной строки для тестирования и создания сценариев.
Быстрый старт
Основы
- Установите UV — установщик Python с ракетным двигателем:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Получите браузеры Playwright (требуются для автоматизации):
uvx --from mcp-server-browser-use@latest python -m playwright install
Модели интеграции
Для клиентов MCP, таких как Claude Desktop, добавьте простую конфигурацию сервера:
Ключевая информация: Лучшие конфигурации получаются, если начинать с простого (Пример 1). Файл .env.example содержит все возможные циферблаты.
Инструменты МКП
Этот сервер предоставляет следующие инструменты через протокол контекста модели:
Синхронные инструменты (ожидание завершения)
run_browser_agent
- Описание: Выполняет задачу автоматизации браузера на основе инструкций естественного языка и ждет ее завершения. Использует настройки из переменных среды
MCP_AGENT_TOOL_*
,MCP_LLM_*
иMCP_BROWSER_*
. - Аргументы:
task
(строка, обязательно): Основная задача или цель.
- Возвращает: (строка) Окончательный результат, извлеченный агентом, или сообщение об ошибке. История агента (JSON, необязательно GIF) сохраняется, если задано
MCP_AGENT_TOOL_HISTORY_PATH
.
- Описание: Выполняет задачу автоматизации браузера на основе инструкций естественного языка и ждет ее завершения. Использует настройки из переменных среды
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
).
Команды:
mcp-browser-cli run-browser-agent [OPTIONS] TASK
- Описание: Запускает задачу агента браузера.
- Аргументы:
TASK
(строка, обязательно): Основная задача для агента.
- Пример:
mcp-browser-cli run-deep-research [OPTIONS] RESEARCH_TASK
- Описание: Проводит глубокие веб-исследования.
- Аргументы:
RESEARCH_TASK
(строка, обязательно): Тема или вопрос для исследования.
- Параметры:
--max-parallel-browsers INTEGER, -p INTEGER
: ПереопределитьMCP_RESEARCH_TOOL_MAX_PARALLEL_BROWSERS
.
- Пример:
Все остальные конфигурации (ключи 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, который вы запускаете и управляете самостоятельно.
Шаги:
- Запустите Chrome/Chromium с включенной удаленной отладкой: (команды для macOS, Linux, Windows перечислены ранее, например,
google-chrome --remote-debugging-port=9222
) - Настройте переменные среды: установите следующие переменные среды:
- Запустите сервер 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
.
Разработка
Поиск неисправностей
- Ошибка конфигурации при запуске : если приложение не запускается из-за ошибки об отсутствующем параметре, убедитесь, что все обязательные переменные среды (например,
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
совпадает. - Проверьте брандмауэры и убедитесь, что браузер запущен.
- Убедитесь, что Chrome запущен с
- Ошибки 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 — подробности см. в разделе ЛИЦЕНЗИЯ .
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
Облегчает автоматизацию браузера с помощью настраиваемых возможностей и агентских взаимодействий, интегрированных через библиотеку использования браузера.
- Функции
- Быстрый старт
- Инструменты МКП
- Использование CLI
- Конфигурация (переменные среды)
- Подключение к собственному браузеру (CDP)
- Разработка
- Поиск неисправностей
- Лицензия
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityEnables AI agents to interact with web browsers using natural language, featuring automated browsing, form filling, vision-based element detection, and structured JSON responses for systematic browser control.Last updated -141Python
- AsecurityFlicenseAqualityEnables browser automation using Python scripts, offering operations like taking webpage screenshots, retrieving HTML content, and executing JavaScript.Last updated -418Python
- -securityFlicense-qualityEnables AI agents to control web browsers via a standardized interface for operations like launching, interacting with, and closing browsers.Last updated -0JavaScript
- -securityAlicense-qualityA browser automation agent that enables Claude to interact with web browsers through the Model Context Protocol, allowing for actions like navigating websites, manipulating elements, and managing browser state.Last updated -2PythonMIT License