Skip to main content
Glama
SangoAlgo
by SangoAlgo

OpenBrowser

Enhanced MCP Playwright Browser Server — умная навигация, персистентный кеш локаторов, авто-ожидание, force-click, accessibility tree и дельта-обновления DOM.

Ключевые улучшения относительно стандартного MCP Playwright

1. Персистентный кеш локаторов (LocatorCache)

Ref ID из browser_get_compact_map (например, [e5]) и browser_get_accessibility_tree ([a3]) сохраняются в кеше с привязкой к стабильным атрибутам (data-tsid > aria-label > role+name). При повторном вызове клика с ref локатор пересобирается из кеша — не протухает после DOM-мутаций.

2. Авто-фолбек при клике (3 уровня)

browser_click пробует:

  1. Playwright click() — стандартный клик

  2. el.click() через JS — если элемент невидим/перекрыт оверлеем

  3. role=role[name="..."] через Playwright a11y API + JS-поиск по aria-label

Флаг force: true включает чистый JS-клик без попытки Playwright.

3. Accessibility Tree с scope и кликом

browser_get_accessibility_tree с параметром scope фильтрует дерево по CSS-селектору. browser_click_a11y кликает по accessibility-tree ref (например, a3) — работает даже для элементов, невидимых в DOM (React-порталы, shadow DOM, off-screen контролы). Использует Playwright page.accessibility.snapshot().

4. browser_wait_for_navigation_or_popup — авто-переключение на popup

Ждёт любой из трёх исходов после действия:

  • Смена URL (навигация)

  • Открытие popup-окна (OAuth) — авто-переключает активную вкладку на popup

  • Завершение сетевой активности

Убирает ручные browser_sleep(3000-5000).

5. browser_get_compact_map с scope + a11y-only элементы

  • Параметр scope: "#chat-panel" фильтрует карту по CSS-селектору

  • Параметр include_a11y_only: true включает элементы, видимые только в accessibility tree (скрытые CSS-элементы с aria-label)

6. browser_fill для contenteditable

Авто-определение типа поля. Для contenteditable div использует execCommand('insertText') + dispatchEvent('input') — работает с кастомными веб-компонентами (Stencil, React, Vue, VKUI).

7. Дельта с отслеживанием навигации

browser_get_delta сообщает не только о DOM-мутациях, но и о смене URL.

8. browser_list_tabs / browser_switch_tab

Управление вкладками, включая popup-окна OAuth. Возможность переключения между вкладками.

9. browser_navigate с авто-детектом popup

Автоматически перехватывает popup-события при навигации. Если страница открывает popup — возвращает его ID и URL в ответе.

10. browser_smart_wait с mutation-settle

Не просто sleep(N) — ждёт network idle + стабилизацию DOM-мутаций (MutationObserver). Точнее определяет момент готовности SPA.

Related MCP server: LCBro

Установка

npm install
npm run build

Конфигурация MCP

{
  "mcpServers": {
    "openbrowser": {
      "command": "node",
      "args": ["dist/index.js"]
    }
  }
}

Инструменты

Инструмент

Описание

browser_navigate

Навигация + авто-детект popup

browser_list_tabs

Список вкладок

browser_switch_tab

Переключение вкладок

browser_click

Клик (PW → JS → a11y fallback)

browser_click_a11y

Клик по accessibility tree ref

browser_force_click

Чистый JS-клик

browser_fill

Заполнение полей + contenteditable

browser_get_compact_map

Карта элементов (persistent refs, scope, a11y-only)

browser_get_accessibility_tree

Дерево доступности с scope-фильтром

browser_get_content

Контент страницы (text/html/innerText)

browser_evaluate_js

Выполнение JS в контексте страницы

browser_take_screenshot

Скриншот

browser_get_delta

Дельта DOM + отслеживание URL

browser_smart_wait

Умное ожидание (network idle + mutation settle)

browser_wait_for_navigation_or_popup

Ожидание + авто-переключение на popup

Маппинг проблем → решений

Проблема из тестирования

Решение в OpenBrowser

«Войти через Google» не найти через DOM, но есть в a11y tree

browser_click_a11y + browser_get_accessibility_tree с Playwright a11y snapshot

ID [eN] нельзя переиспользовать после мутаций

LocatorCache кеширует data-tsid/aria-label/role+name

Ручные sleep(3000-5000) после OAuth

browser_wait_for_navigation_or_popup с авто-переключением

500+ строк ленты в accessibility tree

scope в browser_get_accessibility_tree и compact_map

browser_click падает на невидимых (4 ретрая)

3-уровневый fallback: PW → JS → a11y

role=link[name="..."] нестабилен на Google

browser_click_a11y с JS-fallback поиском по aria-label + textContent

VKUI/React-порталы OK.ru

browser_click_a11y работает через Playwright accessibility snapshot

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A browser automation server providing Playwright capabilities for controlling web browsers, capturing screenshots, extracting content, and performing complex interactions through an MCP interface.
    Last updated
    6
    Apache 2.0
  • A
    license
    -
    quality
    D
    maintenance
    A powerful MCP server for browser automation that supports both Playwright and Chrome DevTools Protocol (CDP) with intelligent preprocessing, comprehensive logging, and remote browser management capabilities. Enables users to perform web automation tasks like navigation, content extraction, form interactions, and screenshot capture through natural language.
    Last updated
    52
    6
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A high-performance browser automation MCP server that provides AI agents with a fast, persistent Chromium instance via Playwright. It features reference-based element interaction, snapshot diffing, and manual handoff capabilities to handle complex tasks like CAPTCHAs.
    Last updated
    61
    26
    32
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A comprehensive browser automation MCP server using Playwright, offering 50+ tools for page control, element interaction, content extraction, and more across multiple browser engines.
    Last updated
    34
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

  • Browser MCP for logged-in tasks. Uses your Chrome — credentials stay local. Zero-token replay.

  • Live browser debugging for AI assistants — DOM, console, network via MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SangoAlgo/openbrowser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server