# CloakBrowser MCP

Подключает браузерную автоматизацию на CloakBrowser Chromium к вашему ИИ-агенту. Пригодится, когда нужно, чтобы агент сам ходил по сайтам и проверял результат.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 172
- Автор: swimmwatch
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/swimmwatch/cloakbrowser-mcp
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/mcp/cloakbrowser-mcp

## Что делает

Сервер запускает рантайм `@playwright/mcp` и направляет его на CloakBrowser Chromium. Набор инструментов остаётся тем же, что у upstream Playwright MCP, плюс два локальных инструмента для самоанализа. Ставится через npm или Docker, работает по stdio либо по Streamable HTTP.

Есть опциональный доступ к CDP в пределах сессии: клиенты, умеющие CDP, подключаются через `chromium.connectOverCDP()`. Поддерживаются постоянные профили браузера, загрузка расширений Chrome и подбор прокси по GeoIP для регионального QA. Мышь, клавиатура и прокрутка ведут себя по-человечески — это заметно на сценариях, чувствительных к взаимодействию.

Для npm нужен Node.js 22.13+ в ветке 22.x или Node.js 24+. Перед подключением клиента прогоните диагностику: `npx -y cloakbrowser-mcp@latest doctor`. Docker-образы собраны под `linux/amd64` и `linux/arm64`.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `PLAYWRIGHT_MCP_BROWSER_ENGINE`, `PLAYWRIGHT_MCP_HEADLESS`, `PLAYWRIGHT_MCP_OUTPUT_DIR`, `PLAYWRIGHT_MCP_CODEGEN`, `PLAYWRIGHT_MCP_SNAPSHOT_BOXES`, `PLAYWRIGHT_MCP_TIMEOUT_SETTLE`, `PLAYWRIGHT_MCP_USER_DATA_DIR`, `CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS`, `CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS`, `CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env PLAYWRIGHT_MCP_BROWSER_ENGINE=<PLAYWRIGHT_MCP_BROWSER_ENGINE> --env PLAYWRIGHT_MCP_HEADLESS=<PLAYWRIGHT_MCP_HEADLESS> --env PLAYWRIGHT_MCP_OUTPUT_DIR=<PLAYWRIGHT_MCP_OUTPUT_DIR> --env PLAYWRIGHT_MCP_CODEGEN=<PLAYWRIGHT_MCP_CODEGEN> --env PLAYWRIGHT_MCP_SNAPSHOT_BOXES=<PLAYWRIGHT_MCP_SNAPSHOT_BOXES> --transport stdio cloakbrowser-mcp -- npx -y cloakbrowser-mcp
```
Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add cloakbrowser-mcp --env PLAYWRIGHT_MCP_BROWSER_ENGINE=<PLAYWRIGHT_MCP_BROWSER_ENGINE> --env PLAYWRIGHT_MCP_HEADLESS=<PLAYWRIGHT_MCP_HEADLESS> --env PLAYWRIGHT_MCP_OUTPUT_DIR=<PLAYWRIGHT_MCP_OUTPUT_DIR> --env PLAYWRIGHT_MCP_CODEGEN=<PLAYWRIGHT_MCP_CODEGEN> --env PLAYWRIGHT_MCP_SNAPSHOT_BOXES=<PLAYWRIGHT_MCP_SNAPSHOT_BOXES> -- npx -y cloakbrowser-mcp
```
Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "cloakbrowser-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cloakbrowser-mcp"
            ],
            "env": {
                "PLAYWRIGHT_MCP_BROWSER_ENGINE": "<PLAYWRIGHT_MCP_BROWSER_ENGINE>",
                "PLAYWRIGHT_MCP_HEADLESS": "<PLAYWRIGHT_MCP_HEADLESS>",
                "PLAYWRIGHT_MCP_OUTPUT_DIR": "<PLAYWRIGHT_MCP_OUTPUT_DIR>",
                "PLAYWRIGHT_MCP_CODEGEN": "<PLAYWRIGHT_MCP_CODEGEN>",
                "PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<PLAYWRIGHT_MCP_SNAPSHOT_BOXES>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "cloakbrowser-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "cloakbrowser-mcp"
            ],
            "env": {
                "PLAYWRIGHT_MCP_BROWSER_ENGINE": "<PLAYWRIGHT_MCP_BROWSER_ENGINE>",
                "PLAYWRIGHT_MCP_HEADLESS": "<PLAYWRIGHT_MCP_HEADLESS>",
                "PLAYWRIGHT_MCP_OUTPUT_DIR": "<PLAYWRIGHT_MCP_OUTPUT_DIR>",
                "PLAYWRIGHT_MCP_CODEGEN": "<PLAYWRIGHT_MCP_CODEGEN>",
                "PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<PLAYWRIGHT_MCP_SNAPSHOT_BOXES>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e PLAYWRIGHT_MCP_BROWSER_ENGINE=<PLAYWRIGHT_MCP_BROWSER_ENGINE> -e PLAYWRIGHT_MCP_HEADLESS=<PLAYWRIGHT_MCP_HEADLESS> -e PLAYWRIGHT_MCP_OUTPUT_DIR=<PLAYWRIGHT_MCP_OUTPUT_DIR> -e PLAYWRIGHT_MCP_CODEGEN=<PLAYWRIGHT_MCP_CODEGEN> -e PLAYWRIGHT_MCP_SNAPSHOT_BOXES=<PLAYWRIGHT_MCP_SNAPSHOT_BOXES> cloakbrowser-mcp npx -y cloakbrowser-mcp
```
Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера

## Когда брать
- дать агенту открыть страницу и снять с неё данные
- проверить сценарий регистрации в реальном браузере
- прогнать региональный QA через прокси, совпадающий с геолокацией
- сохранить вход между запусками в постоянном профиле
- подключить расширение Chrome к сессии автоматизации

## Примеры запросов агенту
- Открой страницу тарифов и выпиши названия всех планов в таблицу
- Пройди регистрацию на тестовом стенде и покажи, где ломается форма
- Запусти браузер с постоянным профилем и проверь, что вход сохранился

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
