swimmwatch/cloakbrowser-mcp

swimmwatch/cloakbrowser-mcp

от swimmwatch
MCP-сервер для браузерной автоматизации, использующий CloakBrowser — Chromium с антидетектом. Запускает Playwright MCP через тонкий мост, предоставляя все стандартные инструменты для управления бра...

cloakbrowser-mcp

CloakBrowser MCP

CI codecov Actionlint CodeQL Dependency Review OpenSSF Scorecard Zizmor Release GitHub Release MCP Registry cloakbrowser-mcp MCP server Awesome MCP Servers npm npm downloads Docker Hub pulls Docker image Node.js >=22.12 TypeScript strict Cross-platform Available on CodeGuilds MCP Server MCP transports Docker License: MIT

cloakbrowser-mcp is a Model Context Protocol browser automation server that runs upstream @playwright/mcp with the CloakBrowser Chromium binary. It gives MCP clients Playwright-compatible browser tools while keeping the upstream tool contracts unchanged.

Documentation: swimmwatch.github.io/cloakbrowser-mcp

Use it when you need:

  • Playwright MCP browser automation backed by CloakBrowser;
  • unchanged upstream browser tools plus two local introspection tools;
  • npm or Docker installation over stdio or Streamable HTTP;
  • persistent browser profiles, validated context options, and Chrome extension loading;
  • GeoIP-aware proxy matching for regional QA;
  • humanized mouse, keyboard, and scroll behavior for interaction-sensitive flows.

Cross-platform checks cover npm on Linux x64/arm64, macOS arm64/x64, and Windows x64 across Node.js 22-26. Docker images are built and smoke-tested for linux/amd64 and linux/arm64.

Install With npm

npx -y cloakbrowser-mcp@latest

Requires Node.js 22.12 or newer. Run diagnostics before wiring a client:

Инструменты были проиндексированы:
browser_clickвнешний мир

Выполнить клик на веб-странице

Параметры
  • buttonenum

    Button to click, defaults to left

  • doubleClickboolean

    Whether to perform a double click instead of a single click

  • elementstring

    Human-readable element description used to obtain permission to interact with the element

  • modifiersenum[]

    Modifier keys to press

  • targetstringобязательный

    Exact target element reference from the page snapshot, or a unique element selector

browser_closeвнешний мир

Закрыть страницу

Параметры

Без параметров.

browser_console_messagesтолько чтениевнешний мир

Возвращает все сообщения консоли.

Параметры
  • allboolean

    Return all console messages since the beginning of the session, not just since the last navigation. Defaults to false.

  • filenamestring

    Filename to save the console messages to. If not provided, messages are returned as text.

  • levelenumобязательный

    Level of the console messages to return. Each level includes the messages of more severe levels. Defaults to "info".

browser_dragвнешний мир

Выполнить перетаскивание между двумя элементами.

Параметры
  • endElementstring

    Human-readable target element description used to obtain the permission to interact with the element

  • endTargetstringобязательный

    Exact target element reference from the page snapshot, or a unique element selector

  • startElementstring

    Human-readable source element description used to obtain the permission to interact with the element

  • startTargetstringобязательный

    Exact target element reference from the page snapshot, or a unique element selector

browser_dropвнешний мир

Помещает файлы или данные с MIME-типом на элемент — так, будто их перетащили снаружи страницы. Нужно передать хотя бы один из параметров: "paths" или "data".

Параметры
  • dataobject

    Data to drop, as a map of MIME type to string value (e.g. {"text/plain": "hello", "text/uri-list": "https://example.com"}).

  • elementstring

    Human-readable element description used to obtain permission to interact with the element

  • pathsstring[]

    Absolute paths to files to drop onto the element.

  • targetstringобязательный

    Exact target element reference from the page snapshot, or a unique element selector

browser_evaluateвнешний мир

Вычислить JavaScript-выражение на странице или элементе

Параметры
  • elementstring

    Human-readable element description used to obtain permission to interact with the element

  • filenamestring

    Filename to save the result to. If not provided, result is returned as text.

  • functionstringобязательный

    () => { /* code / } or (element) => { / code */ } when element is provided

  • targetstring

    Exact target element reference from the page snapshot, or a unique element selector

browser_file_uploadвнешний мир

Загрузить один или несколько файлов

Параметры
  • pathsstring[]

    The absolute paths to the files to upload. Can be single file or multiple files. If omitted, file chooser is cancelled.

browser_fill_formвнешний мир

Заполнить несколько полей формы.

Параметры
  • fieldsobject[]обязательный

    Fields to fill in

browser_findтолько чтениевнешний мир

Ищет текст или регулярное выражение в accessibility-снимке текущей страницы. Возвращает совпадающие узлы снимка с несколькими строками окружающего контекста (как фрагменты поиска), каждый показан под своим путём от корня дерева. Это дешевле, чем захватывать весь снимок, когда нужно только найти элемент и его ref.

Параметры
  • regexstring

    Regular expression to search for in the page snapshot. Matching is case-sensitive by default; wrap the pattern in slashes to add flags, e.g. "/error/i" for case-insensitive. Provide either text or regex, not both.

  • textstring

    Plain text to search for in the page snapshot (case-insensitive substring match). Provide either text or regex, not both.

browser_handle_dialogвнешний мир

Обработать диалог

Параметры
  • acceptbooleanобязательный

    Whether to accept the dialog.

  • promptTextstring

    The text of the prompt in case of a prompt dialog.

browser_hoverвнешний мир

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

Параметры
  • elementstring

    Human-readable element description used to obtain permission to interact with the element

  • targetstringобязательный

    Exact target element reference from the page snapshot, or a unique element selector

browser_navigateвнешний мир

Перейти по URL

Параметры
  • urlstringобязательный

    The URL to navigate to

browser_navigate_backвнешний мир

Вернуться на предыдущую страницу в истории

Параметры

Без параметров.

browser_network_requestтолько чтениевнешний мир

Возвращает полные детали (заголовки и тело) одного сетевого запроса или одной части, если задан part. Используйте номер из browser_network_requests.

Параметры
  • filenamestring

    Filename to save the result to. If not provided, output is returned as text.

  • indexintegerобязательный

    1-based index of the request, as printed by browser_network_requests.

  • partenum

    Return only this part of the request. Omit to return full details.

browser_network_requestsтолько чтениевнешний мир

Возвращает нумерованный список сетевых запросов с момента загрузки страницы. Используйте browser_network_request с номером, чтобы получить полную информацию.

Параметры
  • filenamestring

    Filename to save the network requests to. If not provided, requests are returned as text.

  • filterstring

    Only return requests whose URL matches this regexp (e.g. "/api/.*user").

  • staticbooleanобязательный

    Whether to include successful static resources like images, fonts, scripts, etc. Defaults to false.

browser_press_keyвнешний мир

Нажмите любую клавишу на клавиатуре.

Параметры
  • keystringобязательный

    Name of the key to press or a character to generate, such as ArrowLeft or a

browser_resizeвнешний мир

Изменить размер окна браузера

Параметры
  • heightnumberобязательный

    Height of the browser window

  • widthnumberобязательный

    Width of the browser window

browser_run_code_unsafeвнешний мир

Запустить фрагмент кода Playwright. Небезопасно: выполняет произвольный JavaScript в процессе сервера Playwright и эквивалентен RCE.

Параметры
  • codestring

    A JavaScript function containing Playwright code to execute. It will be invoked with a single argument, page, which you can use for any page interaction. For example: async (page) => { await page.getByRole('button', { name: 'Submit' }).click(); return await page.title(); }

  • filenamestring

    Load code from the specified file. If both code and filename are provided, code will be ignored.

browser_select_optionвнешний мир

Выбирает опцию в выпадающем списке

Параметры
  • elementstring

    Human-readable element description used to obtain permission to interact with the element

  • targetstringобязательный

    Exact target element reference from the page snapshot, or a unique element selector

  • valuesstring[]обязательный

    Array of values to select in the dropdown. This can be a single value or multiple values.

browser_snapshotтолько чтениевнешний мир

Делает снимок доступности текущей страницы, это лучше, чем скриншот.

Параметры
  • boxesboolean

    Include each element's bounding box as [box=x,y,width,height] in the snapshot. Coordinates are viewport-relative, in CSS pixels (Element.getBoundingClientRect)

  • depthnumber

    Limit the depth of the snapshot tree

  • filenamestring

    Save snapshot to markdown file instead of returning it in the response.

  • targetstring

    Exact target element reference from the page snapshot, or a unique element selector

browser_tabsвнешний мир

Перечислить, создать, закрыть или выбрать вкладку браузера.

Параметры
  • actionenumобязательный

    Operation to perform

  • indexnumber

    Tab index, used for close/select. If omitted for close, current tab is closed.

  • urlstring

    URL to navigate to in the new tab, used for new.

browser_take_screenshotтолько чтениевнешний мир

Делает снимок экрана текущей страницы. Вы не можете выполнять действия на основе снимка экрана, используйте browser_snapshot для действий.

Параметры
  • elementstring

    Human-readable element description used to obtain permission to interact with the element

  • filenamestring

    File name to save the screenshot to. Defaults to page-{timestamp}.{png|jpeg|webp} if not specified. Prefer relative file names to stay within the output directory.

  • fullPageboolean

    When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots.

  • scaleenumобязательный

    Image resolution scale. "css" produces a screenshot sized in CSS pixels (smaller, consistent across devices). "device" produces a high-resolution screenshot using device pixels (larger, accounts for the device pixel ratio). Default is css.

  • targetstring

    Exact target element reference from the page snapshot, or a unique element selector

  • typeenum

    Image format for the screenshot. If unset, inferred from the filename extension, otherwise png.

browser_typeвнешний мир

Вводит текст в редактируемый элемент.

Параметры
  • elementstring

    Human-readable element description used to obtain permission to interact with the element

  • slowlyboolean

    Whether to type one character at a time. Useful for triggering key handlers in the page. By default entire text is filled in at once.

  • submitboolean

    Whether to submit entered text (press Enter after)

  • targetstringобязательный

    Exact target element reference from the page snapshot, or a unique element selector

  • textstringобязательный

    Text to type into the element

browser_wait_forтолько чтениевнешний мир

Ожидает появления или исчезновения текста, либо истечения указанного времени.

Параметры
  • textstring

    The text to wait for

  • textGonestring

    The text to wait for to disappear

  • timenumber

    The time to wait in seconds

cloakbrowser_binary_infoтолько чтениеидемпотентный

Вернуть информацию о пакете, кеше, платформе и разрешённом бинарном файле браузера CloakBrowser.

Информация о бинарном файле CloakBrowser

Параметры

Без параметров.

cloakbrowser_bridge_infoтолько чтениеидемпотентный

Возвращает метаданные времени выполнения для моста CloakBrowser поверх вышестоящего Playwright MCP.

Информация о мосте CloakBrowser

Параметры

Без параметров.

Похожие MCP-сервера

executeautomation/playwright-mcp-server

executeautomation/playwright-mcp-server

Сервер для браузерной автоматизации на Playwright. Используется AI-агентами для открытия страниц, скриншотов, веб-скрапинга и выполнения JavaScript в реальном браузере. Отлично подходит для тестиро...

TypeScript5644
feedthrough/feedthrough

feedthrough/feedthrough

Feedthrough - MCP сервер для отладки веб-приложений через AI. Внедряет мост в страницу, предоставляя инструменты для чтения DOM, консоли, сети и управления интерфейсом. Полезен разработчикам, которые хотят исследовать и управлять приложением в реальном времени через AI-агента.

TypeScript4
Playwright MCP

Playwright MCP

официальный

MCP сервер для браузерной автоматизации на основе Playwright. Использует structured accessibility snapshots вместо скриншотов, что делает его быстрым и LLM-friendly. Подходит для агентов, тестирования и автономных сценариев без vision-моделей.

TypeScript36983
freema/firefox-devtools-mcp

freema/firefox-devtools-mcp

MCP-сервер от Mozilla для автоматизации Firefox через WebDriver BiDi. Позволяет ИИ-агентам (Claude, Cursor) управлять браузером: навигация, скриншоты и работа с консолью/сетью. Полезен разработчика...

TypeScript401
ronantakizawa/a11ymcp

ronantakizawa/a11ymcp

MCP сервер с Axe-core и Puppeteer для тестирования веб-доступности: проверяет URL и HTML-фрагменты на WCAG (2.0-2.2), оценивает цветовой контраст, ARIA-атрибуты и ориентацию. Полезен разработчикам ...

JavaScript91
automatalabs/mcp-server-playwright

automatalabs/mcp-server-playwright

Сервер для автоматизации браузера через Playwright: позволяет ИИ-агентам открывать страницы, делать скриншоты, кликать, заполнять формы и выполнять JavaScript — полезен для тестирования и сбора данных.

JavaScript299
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин