Skip to main content
Glama
Yandex Browser MCP Server

Yandex Browser MCP Server

by T1Trit

Yandex Browser Tabs MCP Server v2.0

MCP (Model Context Protocol) сервер для управления вкладками Яндекс Браузера с расширенной функциональностью.

🚀 Новые возможности в версии 2.0

📊 Прямой доступ к консоли браузера

  • Перехват всех логов консоли (log, warn, error, info)

  • Сохранение истории консоли

  • Фильтрация логов по типу

🎯 Быстрый скроллинг

  • Скролл к элементу с плавной анимацией

  • Скролл в любом направлении на заданное расстояние

  • Поддержка smooth и instant режимов

📄 Получение информации без скриншотов

  • Извлечение текста со страницы или элемента

  • Получение HTML контента (inner/outer)

  • Чтение атрибутов элементов

  • Получение метаинформации страницы

🎮 Расширенное взаимодействие

  • Hover эффекты

  • Нажатие клавиш и комбинаций

  • Заполнение форм

  • Ожидание появления элементов

Related MCP server: Selenium MCP Server

📋 Установка

# Клонируйте репозиторий
git clone <repository-url>
cd yandex-browser-mcp

# Установите зависимости
npm install

# Соберите проект
npm run build

🔧 Использование

1. Запустите Яндекс Браузер в режиме отладки

Используйте один из предоставленных батников:

start-yandex-debug.bat

Или вручную:

"C:\Users\%USERNAME%\AppData\Local\Yandex\YandexBrowser\Application\browser.exe" --remote-debugging-port=9222

2. Подключите MCP сервер к Claude Desktop

Добавьте в конфигурацию Claude Desktop:

{
  "mcpServers": {
    "yandex-browser": {
      "command": "node",
      "args": ["C:\\Users\\Professional\\Desktop\\yandex-browser-mcp\\build\\index.js"]
    }
  }
}

📚 Полный список функций

Базовые функции

connect_to_browser

Подключиться к уже открытому Яндекс Браузеру

connect_to_browser({ port?: number })

list_tabs

Получить список всех открытых вкладок

list_tabs({})

navigate

Перейти по URL в указанной вкладке

navigate({ 
  url: string, 
  tabIndex?: number, 
  waitForSelector?: string 
})

Взаимодействие с элементами

click

Кликнуть по элементу

click({ selector: string, tabIndex?: number })

type

Ввести текст в поле

type({ 
  selector: string, 
  text: string, 
  tabIndex?: number, 
  delay?: number 
})

hover

Навести курсор на элемент

hover({ selector: string, tabIndex?: number })

key_press

Нажать клавишу или комбинацию

key_press({ 
  key: string, 
  modifiers?: ['Control' | 'Shift' | 'Alt' | 'Meta'][], 
  tabIndex?: number 
})

Скроллинг

scroll

Прокрутить страницу или к элементу

scroll({ 
  tabIndex?: number,
  direction?: 'up' | 'down' | 'left' | 'right',
  distance?: number,
  selector?: string,
  smooth?: boolean
})

Получение информации

get_text

Получить текстовое содержимое

get_text({ selector?: string, tabIndex?: number })

get_html

Получить HTML содержимое

get_html({ 
  selector?: string, 
  outerHTML?: boolean, 
  tabIndex?: number 
})

get_attributes

Получить атрибуты элемента

get_attributes({ 
  selector: string, 
  attributes?: string[], 
  tabIndex?: number 
})

get_page_info

Получить информацию о странице

get_page_info({ tabIndex?: number })
// Возвращает: URL, title, description, viewport, metaTags

get_console_logs

Получить логи консоли браузера

get_console_logs({ 
  tabIndex?: number,
  type?: 'all' | 'log' | 'warn' | 'error' | 'info',
  limit?: number
})

Работа с формами

fill_form

Заполнить форму данными

fill_form({ 
  formSelector?: string,
  fields: { [selector: string]: any },
  tabIndex?: number
})

Утилиты

wait_for_element

Ждать появления элемента

wait_for_element({ 
  selector: string,
  tabIndex?: number,
  timeout?: number,
  visible?: boolean
})

screenshot

Сделать скриншот

screenshot({ 
  name: string,
  tabIndex?: number,
  fullPage?: boolean,
  selector?: string
})

evaluate

Выполнить JavaScript код

evaluate({ script: string, tabIndex?: number })

execute_test

Выполнить тест (выбрать ответы и отправить)

execute_test({ 
  tabIndex: number,
  testSelectors: string[],
  submitButtonSelector: string
})

💡 Примеры использования

Пример: Мониторинг консоли и извлечение данных

// Подключаемся к браузеру
connect_to_browser({})

// Переходим на страницу
navigate({ url: "https://example.com" })

// Получаем логи консоли
get_console_logs({ type: 'error' })

// Извлекаем текст
get_text({ selector: '.main-content' })

Available Tools

18 tools
clickC

Кликнуть по элементу в указанной вкладке

Inputs: selector (required), tabIndex.

connect_to_browserC

Подключиться к уже открытому Яндекс Браузеру

Inputs: port.

evaluateC

Выполнить JavaScript код в указанной вкладке

Inputs: script (required), tabIndex.

execute_testC

Выполнить тест в указанной вкладке: выбрать ответы и отправить

Inputs: tabIndex (required), testSelectors (required), submitButtonSelector (required).

fill_formC

Заполнить форму данными

Inputs: fields (required), formSelector, tabIndex.

get_attributesC

Получить атрибуты элемента

Inputs: selector (required), attributes, tabIndex.

get_console_logsC

Получить логи консоли браузера

Inputs: tabIndex, type, limit.

get_htmlC

Получить HTML содержимое страницы или элемента

Inputs: selector, outerHTML, tabIndex.

get_page_infoC

Получить информацию о странице (URL, заголовок, мета-теги)

Inputs: tabIndex.

get_textB

Получить текстовое содержимое страницы или элемента

Inputs: selector, tabIndex.

hoverC

Навести курсор на элемент

Inputs: selector (required), tabIndex.

key_pressC

Нажать клавишу или комбинацию клавиш

Inputs: key (required), modifiers, tabIndex.

list_tabsB

Получить список всех открытых вкладок с их индексами и заголовками

Inputs: no named parameters.

screenshotC

Сделать скриншот указанной вкладки

Inputs: name (required), tabIndex, fullPage, selector.

scrollC

Прокрутить страницу или к элементу

Inputs: tabIndex, direction, distance, selector, +1 more.

typeC

Ввести текст в поле в указанной вкладке

Inputs: selector (required), text (required), tabIndex, delay.

wait_for_elementC

Ждать появления элемента

Inputs: selector (required), tabIndex, timeout, visible.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 18 tools

    Disambiguation4/5

    Most tools have distinct purposes, such as navigate for URL navigation, click for clicking, and get_html for retrieving HTML. However, some overlap exists between fill_form and type (both involve inputting data) and between get_text and get_html (both retrieve content), which could cause minor confusion for an agent.

    Naming Consistency5/5

    All tool names follow a consistent snake_case pattern with clear verb_noun structures, such as connect_to_browser, list_tabs, and wait_for_element. There are no deviations in naming conventions, making the set predictable and easy to parse.

    Tool Count4/5

    With 18 tools, the count is slightly high but reasonable for a browser automation server, covering a wide range of interactions like navigation, input, and inspection. It might feel a bit heavy, but each tool appears to serve a specific function in the domain.

    Completeness5/5

    The toolset provides comprehensive coverage for browser automation, including core actions like navigation, interaction (click, type), inspection (get_html, get_attributes), and utilities (screenshot, wait_for_element). There are no obvious gaps, supporting full workflows from setup to testing.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI agents to automate web tasks such as browsing, clicking, typing, and taking screenshots via the Model Context Protocol.
      1
      MIT