OpenBrowser
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenBrowserClick 'Sign in with Google' via a11y tree and wait for the OAuth popup"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 пробует:
Playwright
click()— стандартный кликel.click()через JS — если элемент невидим/перекрыт оверлеем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: Pilot
Установка
npm install
npm run buildКонфигурация MCP
{
"mcpServers": {
"openbrowser": {
"command": "node",
"args": ["dist/index.js"]
}
}
}Инструменты
Инструмент | Описание |
| Навигация + авто-детект popup |
| Список вкладок |
| Переключение вкладок |
| Клик (PW → JS → a11y fallback) |
| Клик по accessibility tree ref |
| Чистый JS-клик |
| Заполнение полей + contenteditable |
| Карта элементов (persistent refs, scope, a11y-only) |
| Дерево доступности с scope-фильтром |
| Контент страницы (text/html/innerText) |
| Выполнение JS в контексте страницы |
| Скриншот |
| Дельта DOM + отслеживание URL |
| Умное ожидание (network idle + mutation settle) |
| Ожидание + авто-переключение на popup |
Маппинг проблем → решений
Проблема из тестирования | Решение в OpenBrowser |
|
|
ID |
|
Ручные |
|
500+ строк ленты в accessibility tree |
|
| 3-уровневый fallback: PW → JS → a11y |
|
|
VKUI/React-порталы OK.ru |
|
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Mint — AI-powered QA that runs your app in a real browser on every PR.
Browserless MCP — wraps the Browserless headless-Chromium REST API (browserless.io)
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
Related MCP Servers
- AlicenseBqualityDmaintenanceA browser automation server providing Playwright capabilities for controlling web browsers, capturing screenshots, extracting content, and performing complex interactions through an MCP interface.6Apache 2.0
- AlicenseAqualityAmaintenanceA 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.6111 npm32MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive browser automation MCP server using Playwright, offering 50+ tools for page control, element interaction, content extraction, and more across multiple browser engines.8 npm1MIT
- FlicenseBqualityDmaintenanceAn MCP server for generic browser automation using Playwright. Enables MCP clients to navigate pages, inspect elements, execute JavaScript, capture screenshots, and monitor console logs and network traffic via a headless Chromium instance.7-