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внешний мир

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

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

Параметры

  • 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

  • doubleClickboolean

    Whether to perform a double click instead of a single click

  • buttonenum

    Button to click, defaults to left

    leftrightmiddle
  • modifiersstring[]

    Modifier keys to press

browser_closeвнешний мир

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

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

Параметры

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

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

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

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

Параметры

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

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

    errorwarninginfodebug
  • 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.

browser_dragвнешний мир

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

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

Параметры

  • 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

  • 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

browser_dropвнешний мир

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

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

Параметры

  • 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

  • pathsstring[]

    Absolute paths to files to drop onto the element.

  • dataobject

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

browser_evaluateвнешний мир

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

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

Параметры

  • 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

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

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

  • filenamestring

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

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.

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

Параметры

  • textstring

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

  • 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.

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

Перейти по URL

Параметры

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

    The URL to navigate to

browser_navigate_backвнешний мир

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

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

Параметры

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

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

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

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

Параметры

  • 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.

    request-headersrequest-bodyresponse-headersresponse-body
  • filenamestring

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

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

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

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

Параметры

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

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

  • filterstring

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

  • filenamestring

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

browser_press_keyвнешний мир

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

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

Параметры

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

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

browser_resizeвнешний мир

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

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

Параметры

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

    Width of the browser window

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

    Height of the browser window

browser_run_code_unsafeвнешний мир

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

Запустить фрагмент кода 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только чтениевнешний мир

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

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

Параметры

  • targetstring

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

  • filenamestring

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

  • depthnumber

    Limit the depth of the snapshot tree

  • 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)

browser_tabsвнешний мир

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

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

Параметры

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

    Operation to perform

    listnewcloseselect
  • 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.

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

Параметры

  • 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

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

    Image format for the screenshot. Default is png.

    pngjpeg
  • filenamestring

    File name to save the screenshot to. Defaults to `page-{timestamp}.{png|jpeg}` 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.

    cssdevice
browser_typeвнешний мир

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

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

Параметры

  • 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

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

    Text to type into the element

  • submitboolean

    Whether to submit entered text (press Enter after)

  • 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.

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

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

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

Параметры

  • timenumber

    The time to wait in seconds

  • textstring

    The text to wait for

  • textGonestring

    The text to wait for to disappear

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

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

CloakBrowser binary info

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

Параметры

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

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

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

CloakBrowser bridge info

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

Параметры

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

Другие проверенные MCP-сервера

Doist/todoist-mcp

Doist/todoist-mcp

официальный

MCP сервер для Todoist даёт AI-агентам полный доступ к задачам. Создавайте, ищите и редактируйте задачи через LLM. Поддерживает streamable HTTP, OAuth, интеграцию с Claude, Cursor и VS Code. Инструменты переиспользуемы и работают как MCP, так и напрямую.

TypeScript528
neondatabase/mcp-server-neon

neondatabase/mcp-server-neon

официальный

MCP сервер для управления базами данных Neon Postgres через естественный язык. Создавай проекты, ветки, выполняй запросы и миграции без SQL. Полезен разработчикам и аналитикам, упрощает работу с PostgreSQL.

TypeScript618
vectara/vectara-mcp

vectara/vectara-mcp

официальный

MCP-сервер для RAG с Vectara: семантический поиск, генерация и коррекция галлюцинаций. Помогает AI-агентам выдавать фактологически точные ответы с верификацией. Совместим с Claude Desktop.

Python27
runapi-ai/mcp

runapi-ai/mcp

официальный

RunAPI MCP Server открывает 130+ моделей генерации медиа, музыки, речи и поиска промптов прямо из MCP-хостов — Claude Code, Cursor, VS Code. Идеально для быстрых экспериментов с генерацией без пере...

TypeScript52
evilsocket/nerve

evilsocket/nerve

Nerve — Agent Development Kit с нативной поддержкой MCP. Определяйте MCP серверы в YAML, запускайте как клиент или сервер, оркестрируйте агентов и тестируйте их в воспроизводимых сценариях. Для разработчиков, которым нужны программируемые и аудируемые LLM-агенты.

Python1318
microsoft/azure-devops-mcp

microsoft/azure-devops-mcp

MCP сервер для Azure DevOps предоставляет AI-агентам доступ к проектам, рабочим элементам и вики. Рекомендуется удаленная версия, доступна и локальная. Инструмент упрощает взаимодействие с DevOps-данными через естественный язык.

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

Лука Никитин