Перейти к содержанию

Инструменты

cloakbrowser-mcp предоставляет upstream-инструменты Playwright MCP без изменений. Имена инструментов, описания, схемы, аннотации и ответы поступают из @playwright/mcp.

Upstream-инструменты

Ожидается, что стандартная поверхность upstream-инструментов браузера соответствует закрепленной зависимости Playwright MCP. Она включает основные браузерные инструменты: навигацию, snapshot, клики, ввод текста, скриншоты, вкладки, сообщения консоли, проверку сети, загрузку файлов, диалоги и небезопасные инструменты выполнения.

Для стабильной upstream-ссылки см. capability test Playwright MCP @playwright/mcp@0.0.82, закрепленный на точном коммите пакета: default and capability-gated tool names.

Этот проект считает upstream Playwright MCP авторитетным источником и не поддерживает копию справочника схем.

Базовый набор содержит 25 upstream-инструментов, включая browser_emulate_media. PLAYWRIGHT_MCP_CAPS=devtools передаёт возможность devtools дочернему процессу без флага моста --caps; результирующие upstream-инструменты и схемы передаются без изменений, включая browser_start_recording и browser_stop_recording.

Ограничение записи с публичным бинарным файлом CloakBrowser v146

Инструменты записи доступны, однако публичный бинарный файл Chromium 146 без ключа, используемый CloakBrowser 0.5.10, намеренно отключает связь Playwright между страницей и хостом ради скрытности. Поэтому browser_stop_recording может возвращать неполный код: навигация записывается, а успешно выполненные ввод и клики пропускаются. Проверяйте сгенерированные записи перед повторным использованием.

Совместимость с явным включением отслеживается в CloakBrowser #532. Решение об отключении базовой связи обсуждается в #340 и #176.

Динамические инструменты WebMCP

Chromium поддерживает WebMCP начиная с версии 154. Более старые сборки CloakBrowser игнорируют feature flag; если WebMCP обязателен, используйте совместимую сборку браузера или PLAYWRIGHT_MCP_BROWSER_ENGINE=playwright.

При запуске Chromium с --enable-features=WebMCP страницы могут объявлять инструменты webmcp_*. Мост передаёт notifications/tools/list_changed, очищает весь кэш tools/list, а клиент должен повторно запросить список. В Streamable HTTP уведомление получает только открытый поток соответствующей сессии; следующий tools/list остаётся актуальным и без потока. Считайте имя, описание, схему, annotations и output недоверенными данными страницы. Мост не включает WebMCP автоматически; PLAYWRIGHT_MCP_WEBMCP=false отключает сбор.

Локальные инструменты

cloakbrowser_binary_info

Возвращает структурированную информацию о пакете CloakBrowser, текущей платформе, каталоге кэша, ожидаемом пути к бинарному файлу, состоянии установки и разрешенном executable path, который использует мост.

cloakbrowser_bridge_info

Возвращает структурированные метаданные моста:

Объект добавления structuredContent.cdp сообщает управляемый CDP вызывающей сессии состояние:

{ "enabled": false }
{
  "enabled": true,
  "state": "ready",
  "generation": 1,
  "bindHost": "127.0.0.1",
  "port": 9222,
  "advertisedHost": null,
  "discoveryUrl": "http://127.0.0.1:9222/cdp/<capability>",
  "activeConnections": 0
}
{
  "enabled": true,
  "state": "unavailable",
  "generation": 1,
  "bindHost": "127.0.0.1",
  "port": 9222,
  "advertisedHost": null,
  "discoveryUrl": null,
  "activeConnections": 0
}

generation увеличивается, а discoveryUrl вращается после замены браузера. activeConnections учитывает принятые проксированные подключения WebSocket, не раскрывая идентификаторы клиентов, целевые идентификаторы или содержимое протокола. Обращайтесь с каждым ненулевым обнаружением URL в качестве удостоверения.

Используйте обнаружение URL с клиентом, поддерживающим CDP:

import { chromium } from 'playwright';

const browser = await chromium.connectOverCDP(discoveryUrl);

Управляемый CDP не является протоколом сервера Playwright. Playwright Ожидается интеграция chromium.connect() и текущей Open WebUI PLAYWRIGHT_WS_URL конечная точка сервера Playwright и не совместима с этим URL.

  • имя и версию MCP-сервера;
  • режим выполнения;
  • пакет и версию upstream Playwright MCP;
  • количество upstream-инструментов;
  • имена локальных Cloak-specific инструментов.

Набор локальных инструментов по-прежнему ограничен этими двумя инструментами диагностики. SessionSeats и getSessionSeats не предоставляются как MCP-инструмент, потому что CloakBrowser 0.5.10 не экспортирует этот API из своей публичной точки входа.

Совместимость

CI собирает Docker-образ и запускает npm run bridge:compare. Этот скрипт параллельно запускает официальный образ Playwright MCP и образ моста CloakBrowser, сравнивает список upstream-инструментов и выполняет стандартные upstream-браузерные инструменты на одной fixture-странице.

Используйте --report, чтобы записать машиночитаемый JSON-отчет:

npm run bridge:compare -- cloakbrowser-mcp:dev --report bridge-parity-report.json

CI загружает этот отчет как артефакт для Docker-сборок и релизных сборок.