Skip to main content
Glama
Yandex Browser MCP

Yandex Browser MCP

by Dizory

Yandex Browser MCP

Управление уже открытым Яндекс Браузером из агента с поддержкой MCP. Обычные вкладки, текущая авторизация, клики, клавиатура, чтение страниц и редактирование через интерфейс сайта. Без отдельного рабочего профиля и подтверждения каждого действия.

MCP-клиент → локальный Node.js сервер → расширение → твои вкладки

Проект состоит из расширения Manifest V3 и сервера. В самом проекте нет LLM, API-ключей модели или облачного посредника. Агент и его провайдер определяются тем приложением, в котором ты подключишь MCP.

Быстрый запуск

Установка по заданию агенту: скачай комплект для Windows и передай агенту текст из AGENT_PROMPT.txt. Подробная процедура для агента — INSTALL_AGENT.md.

В распакованном комплекте запусти install.ps1 через PowerShell. Он установит зависимости, запустит сервер и создаст настройки MCP с абсолютными путями. Флаг -RegisterCodex добавит подключение в Codex. Расширение загружается через browser://extensions агентом с доступом к интерфейсу или пользователем.

Для установки из исходников вручную:

Нужны Node.js 22+ и настольный Яндекс Браузер с поддержкой Manifest V3.

git clone https://github.com/Dizory/yandex-browser-mcp.git
cd yandex-browser-mcp
npm ci
npm start

На Windows можно запустить start.cmd: при первом запуске он установит зависимости, затем запустит сервер. Окно сервера нужно оставить работающим.

Открой в Яндексе browser://extensions, включи режим разработчика, нажми Загрузить распакованное расширение и выбери папку extension из этого репозитория. Это одноразовая установка; браузер останется в твоём текущем профиле. В окне расширения будет виден статус соединения. Если в твоей версии Яндекса загрузка распакованных расширений ограничена, это нужно проверить отдельно — обход ограничений браузера проект не устанавливает.

Состояние сервера: http://127.0.0.1:37891/health. "connected":true означает, что расширение подключено.

Related MCP server: antigravity-browser-bridge

Подключение агента

Адрес MCP (Streamable HTTP):

http://127.0.0.1:37891/mcp

Для Codex добавь в config.toml:

[mcp_servers.yandex_browser]
url = "http://127.0.0.1:37891/mcp"

Или выполни:

codex mcp add yandex_browser --url http://127.0.0.1:37891/mcp

Если клиент поддерживает только stdio, укажи полный путь к server/stdio.js:

{
  "mcpServers": {
    "yandex_browser": {
      "command": "node",
      "args": ["C:/path/to/yandex-browser-mcp/server/stdio.js"]
    }
  }
}

Сервер npm start нужен и для stdio: переходник соединяет агента с тем же локальным сервером. Несколько MCP-клиентов могут подключаться одновременно. На каждой вкладке команды выполняются последовательно, но последовательности из нескольких вызовов разных агентов могут перемежаться — распределяй им разные вкладки. Подключается один экземпляр расширения за раз.

Пример задания агенту:

Найди открытую вкладку с CRM. Прочитай карточку текущего клиента и заполни комментарий «Перезвонить завтра». Сохрани изменение.

Команды

Инструмент

Назначение

browser_tabs

Список вкладок, адреса и идентификаторы

browser_open

Открыть HTTP(S)-страницу

browser_activate

Выбрать вкладку и окно

browser_close

Закрыть вкладку

browser_navigate

Перейти по адресу в существующей вкладке

browser_snapshot

Текст страницы и элементы с CSS-селекторами

browser_click

Клик по селектору или координатам; двойной/правый клик

browser_type

Ввод текста, в том числе в contenteditable; замена содержимого

browser_press

Клавиша или сочетание: Enter, Tab, Control+A и др.

browser_scroll

Прокрутка страницы или вложенной области

browser_screenshot

PNG текущей видимой области вкладки

browser_evaluate

JavaScript-выражение в странице с ожиданием Promise

browser_cdp

Произвольная доступная команда Chrome DevTools Protocol

Начинай с browser_tabs, затем browser_snapshot. После переходов и изменения страницы запрашивай новый снимок. Для таблиц с canvas используй screenshot, координаты и клавиатуру; для специфичных операций — evaluate/CDP. Обычный снимок читает главный документ, максимум 300 элементов и по умолчанию 20 000 символов. maxChars увеличивает лимит текста до 100 000. Неподгруженные строки, вложенные фреймы и закрытые Shadow DOM не превращаются автоматически в текст.

Клик и клавиатура используют CDP Input, поэтому события приходят сайту как браузерный ввод. Выбор по CSS требует единственного подходящего элемента. Это важно для чатов и таблиц, которые игнорируют простой DOM .click().

Вход и пароли

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

Обычный snapshot не возвращает значения password-полей. Это удобное исключение из вывода, не изоляция секретов: evaluate/CDP дают полный доступ к странице, а снимок экрана показывает то, что отображается в ней. Данные, прочитанные агентом, могут попасть к его LLM-провайдеру. Сервер не пишет содержимое страниц в файлы или журналы и слушает только 127.0.0.1.

Проверка

npm test

Проверяются настоящий MCP-handshake, схемы инструментов, маршрутизация ответов между клиентами, ошибки ввода, обрыв связи, timeout без повторения действия и ответы с изображениями. Расширение проверяется отдельно в тестах его логики.

После запуска сервера и установки расширения:

npm run test:browser

Этот тест открывает свою локальную страницу, вводит русский текст, нажимает кнопку, меняет ячейку, проверяет двойной клик, клавиатуру, прокрутку, снимок экрана, CDP и переход. Затем закрывает свою вкладку. Реальные чаты и документы тест не изменяет. Значение тестового password-поля проверяется на отсутствие в snapshot.

Если что-то не работает

  • Browser extension is not connected: запусти сервер, включи расширение, нажми переподключение в его окне. При перезапуске сервера оно переподключается.

  • Порт занят: проверь /health. Если сервер уже запущен, используй его.

  • Ошибка debugger: служебные страницы браузера и страницы других расширений могут быть недоступны; открытые DevTools могут мешать подключению.

  • После ошибки или timeout сначала прочитай страницу: действие могло успеть выполниться. Сервер не повторяет изменения автоматически.

  • Изменения исходников расширения требуют кнопки перезагрузки на странице browser://extensions; изменения сервера — его перезапуска.

  • MCP не делает агента постоянно работающим. Для непрерывного наблюдения за чатом нужен работающий агент с циклом проверки или планировщик его клиента.

  • Удалённый облачный агент не видит 127.0.0.1 твоего компьютера. В этой версии подключение рассчитано на MCP-клиенты, работающие локально.

Протокол между сервером и расширением описан в PROTOCOL.md.

Чтобы собрать ZIP-комплект и SHA256: powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/package.ps1. Результат появится в artifacts. В архив входят исходники, тесты и инструкции; node_modules, локальные настройки MCP, журналы и данные браузера не включаются.

Статус

Версия 0.1 — первая реализация. 4 ноября 2026 года npm run test:browser успешно проверил все 13 инструментов в установленном Яндекс Браузере: русский текст, отправку тестового сообщения, редактирование ячейки, доверенный клик, двойной клик, клавиатуру, вложенную прокрутку, PNG, CDP и переходы. Значение тестового password-поля не попало в snapshot; тестовая вкладка закрыта.

Это не подтверждает совместимость со всеми сайтами или версиями Яндекса. Для своей версии браузера запусти npm run test:browser; встроенное автозаполнение паролей пока не проверено.

MIT License.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables MCP clients to drive a real, logged-in Chrome browser for web automation tasks like navigation, clicking, typing, and screenshotting.
    9 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables local control of existing Chrome/Chromium browser tabs through MCP, including tab management, navigation, content reading, screenshots, and page interaction.
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables remote agents to control a local Chrome/Edge browser via MCP, supporting navigation, snapshots, clicks, typing, screenshots, and script execution.
    8 npm
    ISC