swimmwatch/cloakbrowser-mcp

swimmwatch/cloakbrowser-mcp

от swimmwatch
Обходит антибот-защиту в браузере человеческими движениями мыши, клавиатуры и скролла. Сохраняет профили Chrome и подбирает прокси по GeoIP.

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.13+ or 24+ TypeScript strict Cross-platform Available on CodeGuilds MCP Server MCP transports Docker License: MIT MCP Toplist

cloakbrowser-mcp is a drop-in Playwright MCP-compatible browser automation server with unchanged upstream tools, CloakBrowser Chromium, and production-ready npm, Docker, and Streamable HTTP packaging. It runs upstream @playwright/mcp as the canonical tool surface and points that runtime at CloakBrowser.

30-second demo

30-second demo showing CloakBrowser MCP startup, humanized research prompt typing, web automation, and testing workflows

Run npx -y cloakbrowser-mcp@latest, connect Claude Desktop or Codex CLI, ask for web research, daily automation, or testing in plain English, and inspect the real browser result.

Documentation: swimmwatch.github.io/cloakbrowser-mcp · Comparison · Recipes

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;
  • opt-in, session-scoped managed CDP access for CDP-capable clients through chromium.connectOverCDP();
  • 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.

Часто задаваемые вопросы

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

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

Параметры
  • buttonenum

    Кнопка для нажатия, по умолчанию левая.

  • doubleClickboolean

    Выполнять ли двойной щелчок вместо одиночного

  • elementstring

    Понятное человеку описание элемента, используемое для получения разрешения на взаимодействие с элементом

  • modifiersenum[]

    Клавиши-модификаторы для нажатия

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

    Точная ссылка на целевой элемент из снимка страницы или уникальный селектор элемента.

browser_closeвнешний мир

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

Параметры

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

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

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

Параметры
  • allboolean

    Возвращает все сообщения консоли с начала сеанса, а не только после последней навигации. По умолчанию false.

  • filenamestring

    Имя файла для сохранения сообщений консоли. Относительные имена файлов разрешаются относительно корня рабочей области. Если не указано, сообщения возвращаются в виде текста.

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

    Уровень возвращаемых сообщений консоли. Каждый уровень включает сообщения более критичных уровней. Значение по умолчанию: «info».

browser_dragвнешний мир

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

Параметры
  • endElementstring

    Человекочитаемое описание целевого элемента, используемое для получения разрешения на взаимодействие с элементом.

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

    Точная ссылка на целевой элемент из снимка страницы или уникальный селектор элемента.

  • startElementstring

    Понятное человеку описание исходного элемента используется, чтобы получить разрешение на взаимодействие с ним.

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

    Точная ссылка на целевой элемент из снимка страницы или уникальный селектор элемента.

browser_dropвнешний мир

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

Параметры
  • dataobject

    Данные для удаления, представленные в виде сопоставления типа MIME со строковым значением (например, {"text/plain": "hello", "text/uri-list": "https://example.com"}).

  • elementstring

    Понятное человеку описание элемента, используемое для получения разрешения на взаимодействие с элементом

  • pathsstring[]

    Абсолютные пути к файлам, которые можно перетащить на элемент.

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

    Точная ссылка на целевой элемент из снимка страницы или уникальный селектор элемента.

browser_emulate_mediaвнешний мир

Эмулирует медиа-функции CSS для страницы, например переключает между светлой и тёмной цветовой схемой. Опущенные параметры остаются без изменений; null очищает переопределение.

Параметры
  • colorSchemeenum | null

    Эмулирует медиа-функцию prefers-color-scheme.

  • contrastenum | null

    Эмулирует медиа-функцию prefers-contrast.

  • forcedColorsenum | null

    Эмулирует медиа-функцию forced-colors

  • mediaenum | null

    Изменяет медиатип CSS страницы.

  • reducedMotionenum | null

    Эмулирует медиа-функцию prefers-reduced-motion.

browser_evaluateвнешний мир

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

Параметры
  • elementstring

    Понятное человеку описание элемента, используемое для получения разрешения на взаимодействие с элементом

  • filenamestring

    Имя файла для сохранения результата. Относительные имена файлов разрешаются относительно корня рабочей области. Если имя не указано, результат возвращается в виде текста.

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

    () => { /* код / } или (element) => { / код */ }, когда element передан

  • targetstring

    Точная ссылка на целевой элемент из снимка страницы или уникальный селектор элемента.

browser_file_uploadвнешний мир

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

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

    Абсолютные пути к файлам для загрузки. Может быть один файл или несколько файлов. Если не указано, выбор файла отменяется.

browser_fill_formвнешний мир

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

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

    Поля для заполнения

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

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

Параметры
  • regexstring

    Регулярное выражение для поиска в снимке страницы. По умолчанию сопоставление чувствительно к регистру; оберните шаблон в косые черты, чтобы добавить флаги, например "/error/i" для поиска без учета регистра. Укажите либо текст, либо регулярное выражение, но не оба сразу.

  • textstring

    Простой текст для поиска в снимке страницы (поиск подстроки без учета регистра). Укажите либо текст, либо регулярное выражение, но не оба.

browser_handle_dialogвнешний мир

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

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

    Принять ли диалог?

  • promptTextstring

    Текст подсказки в случае диалогового окна подсказки.

browser_hoverвнешний мир

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

Параметры
  • elementstring

    Понятное человеку описание элемента, используемое для получения разрешения на взаимодействие с элементом

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

    Точная ссылка на целевой элемент из снимка страницы или уникальный селектор элемента.

browser_navigateвнешний мир

Перейти по URL

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

    URL для перехода

browser_navigate_backвнешний мир

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

Параметры

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

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

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

Параметры
  • filenamestring

    Имя файла для сохранения результата. Относительные имена файлов разрешаются относительно корня рабочей области. Если значение не указано, результат возвращается в виде текста.

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

    Индекс запроса, начиная с 1, как его выводит browser_network_requests.

  • partenum

    Возвращает только эту часть запроса. Опускает, чтобы вернуть полные сведения.

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

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

Параметры
  • filenamestring

    Имя файла для сохранения сетевых запросов. Относительные имена файлов разрешаются относительно корня рабочей области. Если имя файла не указано, запросы возвращаются в виде текста.

  • filterstring

    Возвращайте только запросы, чей URL соответствует этому регулярному выражению (например, "/api/.*user").

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

    Включать ли успешные статические ресурсы, такие как изображения, шрифты, скрипты и т.д. По умолчанию равно false.

browser_press_keyвнешний мир

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

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

    Название клавиши для нажатия или символ для генерации, например, ArrowLeft или a.

browser_resizeвнешний мир

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

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

    Высота окна браузера

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

    Ширина окна браузера

browser_run_code_unsafeвнешний мир

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

Параметры
  • codestring

    Функция JavaScript, содержащая код Playwright для выполнения. Она будет вызвана с одним аргументом - page, который можно использовать для любого взаимодействия со страницей. Например: async (page) => { await page.getByRole('button', { name: 'Submit' }).click(); return await page.title(); }

  • filenamestring

    Загружает код из указанного файла. Относительные имена файлов разрешаются относительно корня рабочей области. Если указаны и код, и имя файла, код игнорируется.

browser_select_optionвнешний мир

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

Параметры
  • elementstring

    Понятное человеку описание элемента, используемое для получения разрешения на взаимодействие с элементом

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

    Точная ссылка на целевой элемент из снимка страницы или уникальный селектор элемента.

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

    Массив значений для выбора в выпадающем списке. Это может быть одно значение или несколько значений.

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

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

Параметры
  • boxesboolean

    Включай bounding box каждого элемента как [box=x,y,width,height] в снимок. Координаты относительно вьюпорта, в CSS-пикселях (Element.getBoundingClientRect).

  • depthnumber

    Ограничьте глубину дерева снимков.

  • filenamestring

    Сохраняет снимок в файл, а не возвращает его в ответе. Относительные имена файлов разрешаются относительно корня рабочей области.

  • targetstring

    Точная ссылка на целевой элемент из снимка страницы или уникальный селектор элемента.

browser_tabsвнешний мир

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

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

    Операция для выполнения

  • indexnumber

    Индекс вкладки, используется для закрытия/выбора. Если не указан для закрытия, закрывается текущая вкладка.

  • urlstring

    URL для перехода в новой вкладке, используется для новых.

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

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

Параметры
  • elementstring

    Понятное человеку описание элемента, используемое для получения разрешения на взаимодействие с элементом

  • filenamestring

    Имя файла для сохранения скриншота. Относительные имена файлов разрешаются относительно корня рабочей области. Если имя не указано, скриншот сохраняется в выходной каталог как page-{timestamp}.{png|jpeg|webp}.

  • fullPageboolean

    Когда задано значение true, делает снимок всей прокручиваемой страницы, а не только видимой области просмотра. Нельзя использовать вместе со снимками элементов.

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

    Масштаб разрешения изображения. "css" создаёт скриншот с разрешением в CSS-пикселях (меньше, одинаково на всех устройствах). "device" создаёт скриншот с высоким разрешением, используя физические пиксели устройства (больше, учитывает коэффициент соотношения пикселей). По умолчанию используется css.

  • targetstring

    Точная ссылка на целевой элемент из снимка страницы или уникальный селектор элемента.

  • typeenum

    Формат изображения для скриншота. Если не задано, определяется по расширению имени файла, в противном случае — png.

browser_typeвнешний мир

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

Параметры
  • elementstring

    Понятное человеку описание элемента, используемое для получения разрешения на взаимодействие с элементом

  • slowlyboolean

    Определяет, вводить ли текст по одному символу за раз. Это полезно для запуска обработчиков нажатий клавиш на странице. По умолчанию весь текст вводится сразу.

  • submitboolean

    Отправлять ли введенный текст (нажмите Enter после)

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

    Точная ссылка на целевой элемент из снимка страницы или уникальный селектор элемента.

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

    Текст для ввода в элемент

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

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

Параметры
  • textstring

    Ожидаемый текст

  • textGonestring

    Текст, исчезновения которого нужно дождаться.

  • timenumber

    Время ожидания в секундах

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

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

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

Параметры

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

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

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

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

Параметры

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

1.15.1основная
1.15.0
1.14.1
1.14.0
1.13.0
1.12.0
1.11.0
1.10.0
1.9.0
1.8.0
1.7.0
1.6.1
1.6.0
1.5.0
1.4.0
1.3.0
1.2.7
1.2.6
1.2.5
1.2.3
1.2.2
1.2.1
1.2.0
1.1.0
1.0.2
1.0.1

Выберите клиент, чтобы установить swimmwatch/cloakbrowser-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "swimmwatch-cloakbrowser-mcp-5ad4doqfz2": {
      "command": "npx",
      "args": [
        "-y",
        "cloakbrowser-mcp@latest"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "swimmwatch-cloakbrowser-mcp-5ad4doqfz2": {
      "command": "npx",
      "args": [
        "-y",
        "cloakbrowser-mcp@latest"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "swimmwatch-cloakbrowser-mcp-5ad4doqfz2": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "cloakbrowser-mcp@latest"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"swimmwatch-cloakbrowser-mcp-5ad4doqfz2\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"cloakbrowser-mcp@latest\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "swimmwatch-cloakbrowser-mcp-5ad4doqfz2": {
      "command": "npx",
      "args": [
        "-y",
        "cloakbrowser-mcp@latest"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add swimmwatch-cloakbrowser-mcp-5ad4doqfz2 -- npx -y cloakbrowser-mcp@latest

Либо через JSON-конфиг:

claude mcp add-json swimmwatch-cloakbrowser-mcp-5ad4doqfz2 "{\"command\":\"npx\",\"args\":[\"-y\",\"cloakbrowser-mcp@latest\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add swimmwatch-cloakbrowser-mcp-5ad4doqfz2 -- npx -y cloakbrowser-mcp@latest

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.swimmwatch-cloakbrowser-mcp-5ad4doqfz2]
command = "npx"
args = ["-y", "cloakbrowser-mcp@latest"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите swimmwatch/cloakbrowser-mcp, а в поле команды запуска — строку ниже:
npx -y cloakbrowser-mcp@latest

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "swimmwatch-cloakbrowser-mcp-5ad4doqfz2": {
      "command": "npx",
      "args": [
        "-y",
        "cloakbrowser-mcp@latest"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "swimmwatch-cloakbrowser-mcp-5ad4doqfz2": {
      "command": "npx",
      "args": [
        "-y",
        "cloakbrowser-mcp@latest"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например swimmwatch-cloakbrowser-mcp-5ad4doqfz2.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: swimmwatch-cloakbrowser-mcp-5ad4doqfz2
    command: npx
    args:
      - "-y"
      - "cloakbrowser-mcp@latest"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "swimmwatch-cloakbrowser-mcp-5ad4doqfz2": {
      "command": "npx",
      "args": [
        "-y",
        "cloakbrowser-mcp@latest"
      ]
    }
  }
}

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

webdriverio/mcp

webdriverio/mcp

официальный

от webdriverio

Управляйте браузерами и мобильными приложениями через WebDriverIO с MCP-сервером. Автоматизируйте Chrome, Firefox, Edge, Safari, iOS и Android: навигация, клики, скриншоты. Оптимален для тестирования.

TypeScript⭐ 42
Browser MCP

Browser MCP

официальный

от browsermcp

Автоматизирует ваш браузер: кликает, заполняет формы, извлекает данные. Работает локально в вашем профиле, видит все логины и обходит капчи.

TypeScript⭐ 7201
executeautomation/playwright-mcp-server

executeautomation/playwright-mcp-server

от executeautomation

Управляет браузером через Playwright: открывает страницы, делает скриншоты, извлекает данные, эмулирует 143 устройства и пишет автотесты.

TypeScript⭐ 5668
achiya-automation/safari-mcp

achiya-automation/safari-mcp

от achiya-automation

Используйте Safari MCP сервер для AI-агентов на macOS - ваш реальный браузер с сессиями, куками и 96 инструментами. Работает без Chrome, на нативном WebKit, с низким нагревом.

JavaScript⭐ 220
ofershap/real-browser-mcp

ofershap/real-browser-mcp

от ofershap

Управляет вашим реальным Chrome: кликает, заполняет формы, снимает скриншоты и проверяет результат. Работает с вашими сессиями и корпоративным SSO.

JavaScript⭐ 57
debugg-ai/debugg-ai-mcp

debugg-ai/debugg-ai-mcp

от debugg-ai

MCP инструмент для браузерного тестирования: задайте URL и описание — AI-агент выполняет сценарий и выдаёт pass/fail со скриншотами. Есть probe_page для быстрых проверок без LLM. Помогает разработчикам и QA автоматизировать UI-тесты.

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

Лука Никитин