dev-browser-mcp
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 buildRelated 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 на путь к вашей рабочей копии.
Инструменты
Инструмент | Назначение |
| Основной инструмент. Выполнение изолированного скрипта Playwright. |
| Список вкладок: |
| Получить/создать именованную страницу (или подключиться по targetId) |
| Закрыть именованную страницу |
| Перейти по URL |
| AI-доступный снимок ( |
| PNG-скриншот (также возвращается как изображение) |
| Клик по CSS-селектору или ссылке на снимок |
| Заполнить поле ввода |
| Ввод текста посимвольно |
| Выполнить |
| Ожидание селектора |
| Состояние демона |
| Управляемые экземпляры браузера |
| Остановить демон |
| Установить Playwright Chromium |
Прочитайте dev-browser://guide для полного API изолированной среды, включая page.cua (зрение) и page.domCua (DOM-идентификаторы).
Переменные окружения
Переменная | Значение |
| Переопределить путь к встроенному CLI |
|
|
| Именованный экземпляр браузера демона (по умолчанию: |
|
|
|
|
|
|
| Тайм-аут скрипта в секундах (по умолчанию: |
| Закрытие бездействующих запущенных браузеров, например |
Параметры 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 buildMaintenance
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
- Flicense-qualityCmaintenanceEnables 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.
- Flicense-qualityCmaintenanceEnables 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.
- Flicense-qualityCmaintenanceEnables 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.
- AlicenseBqualityFmaintenanceEnables 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.20239MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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