Skip to main content
Glama
kamkozlowski

dev-browser-mcp

by kamkozlowski

dev-browser-mcp

MCP-сервер для SawyerHood/dev-browser. Агенты управляют постоянным экземпляром Chromium (или уже запущенным Chrome) с помощью изолированного JavaScript и небольшого набора структурированных инструментов.

Репозиторий: github.com/kamkozlowski/dev-browser-mcp

Скрипты выполняются в QuickJS, а не в Node.js. Именованные страницы сохраняются между вызовами инструментов через демон dev-browser.

dev-browser (CLI + Playwright Chromium) является зависимостью этого пакета. npm install загружает CLI и устанавливает Chromium. Глобальная установка dev-browser не требуется. Установите DEV_BROWSER_SKIP_CHROMIUM=1, чтобы пропустить загрузку Chromium (например, если вы подключаетесь только к существующему Chrome). DEV_BROWSER_BIN по-прежнему переопределяет встроенный CLI.

Установка

Клонируйте и соберите:

git clone https://github.com/kamkozlowski/dev-browser-mcp.git
cd dev-browser-mcp
npm install
npm run build

Или установите из GitHub-архива:

npm pack github:kamkozlowski/dev-browser-mcp
tar -xzf dev-browser-mcp-*.tgz
cd package
npm install
npm run build

Related MCP server: Cloudflare Playwright MCP

Конфигурация Cursor

Добавьте в ~/.cursor/mcp.json (или в .cursor/mcp.json проекта).

Рекомендуется: загрузка из GitHub (кэш в ~/.cache)

Локальное клонирование не требуется. При первом запуске Cursor загружает пакет, устанавливает зависимости, собирает и запускает сервер:

{
  "mcpServers": {
    "dev-browser": {
      "command": "bash",
      "args": [
        "/ABS/PATH/TO/dev-browser-mcp/scripts/bootstrap-mcp.sh"
      ],
      "env": {
        "DEV_BROWSER_HEADLESS": "true"
      }
    }
  }
}

Если у вас нет локального клона, используйте эту однострочную команду (та же логика, что и в scripts/bootstrap-mcp.sh):

{
  "mcpServers": {
    "dev-browser": {
      "command": "bash",
      "args": [
        "-lc",
        "CACHE=\"${XDG_CACHE_HOME:-$HOME/.cache}/dev-browser-mcp\"; LOCK=\"$CACHE/.install.lock\"; PKG=\"$CACHE/package\"; ENTRY=\"$PKG/dist/index.js\"; mkdir -p \"$CACHE\"; install() { cd \"$CACHE\" && rm -rf package dev-browser-mcp-*.tgz && npm pack github:kamkozlowski/dev-browser-mcp >/dev/null && tar -xzf dev-browser-mcp-*.tgz && rm -f dev-browser-mcp-*.tgz && cd package && npm install && npm run build; }; if [ ! -f \"$ENTRY\" ]; then ( flock -n 9 || flock 9; [ -f \"$ENTRY\" ] || install ) 9>\"$LOCK\"; fi; [ -f \"$ENTRY\" ] || { echo \"Install failed; rm -rf $CACHE\" >&2; exit 1; }; cd \"$PKG\" && exec node dist/index.js"
      ],
      "env": {
        "DEV_BROWSER_HEADLESS": "true"
      }
    }
  }
}

Если сервер не запускается с ошибкой Cannot find module .../dist/index.js, удалите поврежденный кэш и повторите попытку:

rm -rf "${XDG_CACHE_HOME:-$HOME/.cache}/dev-browser-mcp"

Чтобы подключиться к уже запущенному Chrome вместо запуска Chromium:

{
  "mcpServers": {
    "dev-browser": {
      "command": "bash",
      "args": [
        "-lc",
        "CACHE=\"${XDG_CACHE_HOME:-$HOME/.cache}/dev-browser-mcp\"; LOCK=\"$CACHE/.install.lock\"; PKG=\"$CACHE/package\"; ENTRY=\"$PKG/dist/index.js\"; mkdir -p \"$CACHE\"; install() { cd \"$CACHE\" && rm -rf package dev-browser-mcp-*.tgz && npm pack github:kamkozlowski/dev-browser-mcp >/dev/null && tar -xzf dev-browser-mcp-*.tgz && rm -f dev-browser-mcp-*.tgz && cd package && npm install && npm run build; }; if [ ! -f \"$ENTRY\" ]; then ( flock -n 9 || flock 9; [ -f \"$ENTRY\" ] || install ) 9>\"$LOCK\"; fi; [ -f \"$ENTRY\" ] || { echo \"Install failed; rm -rf $CACHE\" >&2; exit 1; }; cd \"$PKG\" && exec node dist/index.js"
      ],
      "env": {
        "DEV_BROWSER_CONNECT": "auto",
        "DEV_BROWSER_SKIP_CHROMIUM": "true"
      }
    }
  }
}

Включите удаленную отладку в Chrome по адресу chrome://inspect/#remote-debugging или запустите с флагом --remote-debugging-port=9222.

Локальный клон (простой)

После npm install и npm run build в вашей рабочей копии:

{
  "mcpServers": {
    "dev-browser": {
      "command": "node",
      "args": ["/ABS/PATH/TO/dev-browser-mcp/dist/index.js"],
      "env": {
        "DEV_BROWSER_HEADLESS": "true"
      }
    }
  }
}

Локальный клон (самозагрузка, bash)

Cursor устанавливает и собирает при первом запуске, если папка dist/ отсутствует:

{
  "mcpServers": {
    "dev-browser": {
      "command": "bash",
      "args": [
        "-lc",
        "REPO=\"/ABS/PATH/TO/dev-browser-mcp\"; if [ ! -f \"$REPO/dist/index.js\" ]; then cd \"$REPO\" && npm install && npm run build; fi; cd \"$REPO\" && exec node dist/index.js"
      ],
      "env": {
        "DEV_BROWSER_HEADLESS": "true"
      }
    }
  }
}

Замените REPO на путь к вашей рабочей копии.

Разработка (TypeScript, без сборки)

{
  "mcpServers": {
    "dev-browser": {
      "command": "bash",
      "args": [
        "-lc",
        "REPO=\"/ABS/PATH/TO/dev-browser-mcp\"; cd \"$REPO\" && exec npx --yes tsx src/index.ts"
      ],
      "env": {
        "DEV_BROWSER_HEADLESS": "true"
      }
    }
  }
}

Замените REPO на путь к вашей рабочей копии.

Инструменты

Инструмент

Назначение

dev_browser_run

Основной инструмент. Выполнение изолированного скрипта Playwright.

dev_browser_list_pages

Список вкладок: {id, url, title, name}

dev_browser_page_open

Получить/создать именованную страницу (или подключиться по targetId)

dev_browser_close_page

Закрыть именованную страницу

dev_browser_goto

Перейти по URL

dev_browser_snapshot

AI-доступный снимок (snapshotForAI)

dev_browser_screenshot

PNG-скриншот (также возвращается как изображение)

dev_browser_click

Клик по CSS-селектору или ссылке на снимок

dev_browser_fill

Заполнить поле ввода

dev_browser_type

Ввод текста посимвольно

dev_browser_evaluate

Выполнить eval JavaScript на странице

dev_browser_wait_for_selector

Ожидание селектора

dev_browser_status

Состояние демона

dev_browser_browsers

Управляемые экземпляры браузера

dev_browser_stop

Остановить демон

dev_browser_install

Установить Playwright Chromium

Прочитайте dev-browser://guide для полного API изолированной среды, включая page.cua (зрение) и page.domCua (DOM-идентификаторы).

Переменные окружения

Переменная

Значение

DEV_BROWSER_BIN

Переопределить путь к встроенному CLI dev-browser

DEV_BROWSER_SKIP_CHROMIUM

true для пропуска postinstall/автоматической настройки Chromium

DEV_BROWSER_BROWSER

Именованный экземпляр браузера демона (по умолчанию: default)

DEV_BROWSER_HEADLESS

true для запуска Chromium без окна

DEV_BROWSER_CONNECT

auto / true для подключения к Chrome, или CDP-URL

DEV_BROWSER_IGNORE_HTTPS_ERRORS

true для самоподписанных сертификатов

DEV_BROWSER_TIMEOUT

Тайм-аут скрипта в секундах (по умолчанию: 30)

DEV_BROWSER_IDLE_TIMEOUT

Закрытие бездействующих запущенных браузеров, например 5m

Параметры browser, connect, headless, ignoreHttpsErrors и timeoutSeconds в каждом вызове переопределяют переменные окружения.

Отличия от Playwright MCP

dev-browser построен вокруг одного изолированного скрипта на каждое решение, а не длинной цепочки атомарных MCP-вызовов. Используйте dev_browser_run для любых действий, выходящих за рамки одного перехода/клика/заполнения. Существуют вспомогательные инструменты, чтобы общие шаги проверки/действия оставались структурированными.

В отличие от benkraus/dev-browser-mcp (расширение Chrome + CDP-ретранслятор), этот сервер оборачивает официальный CLI dev-browser с его изолированной средой QuickJS и постоянными страницами демона.

Разработка

npm test
npm run typecheck
npm run build
Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    C
    maintenance
    Enables AI assistants to control a browser through a set of tools, allowing them to perform web automation tasks like navigation, typing, clicking, and taking screenshots.
  • A
    license
    B
    quality
    F
    maintenance
    Enables AI agents to directly control your real Chrome browser with full context including login sessions, cookies, and open tabs. It provides tools for page scanning, JavaScript execution, CDP control, screenshots, and physical mouse/keyboard input for authentic browser automation.
    20
    239
    MIT

View all related MCP servers

Related MCP Connectors

  • AI-powered browser automation — navigate, click, fill forms, and extract data from any website.

  • Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…

  • Live browser debugging for AI assistants — DOM, console, network via MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kamkozlowski/dev-browser-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server