Skip to main content
Glama
kamkozlowski

dev-browser-mcp

by kamkozlowski

dev-browser-mcp

Servidor MCP para SawyerHood/dev-browser. Los agentes controlan un Chromium persistente (o un Chrome ya en ejecución) con JavaScript en entorno aislado y un pequeño conjunto de herramientas estructuradas.

Repositorio: github.com/kamkozlowski/dev-browser-mcp

Los scripts se ejecutan en QuickJS, no en Node.js. Las páginas con nombre persisten entre llamadas a herramientas a través del demonio dev-browser.

dev-browser (CLI + Playwright Chromium) es una dependencia de este paquete. npm install descarga la CLI e instala Chromium. No se requiere una instalación global de dev-browser. Establece DEV_BROWSER_SKIP_CHROMIUM=1 para omitir la descarga de Chromium (por ejemplo, cuando solo te conectas a un Chrome existente). DEV_BROWSER_BIN sigue anulando la CLI incluida.

Instalación

Clona y compila:

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

O instala desde el tarball de 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

Configuración de Cursor

Añade a ~/.cursor/mcp.json (o al .cursor/mcp.json del proyecto).

Recomendado: arranque desde GitHub (caché en ~/.cache)

No se necesita clon local. En el primer inicio, Cursor descarga el paquete, instala las dependencias, compila e inicia el servidor:

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

Si no mantienes un clon local, usa este comando de una línea (misma lógica que 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"
      }
    }
  }
}

Si el servidor falla al iniciar con Cannot find module .../dist/index.js, elimina la caché dañada y vuelve a intentarlo:

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

Para conectarte a tu Chrome en ejecución en lugar de iniciar 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"
      }
    }
  }
}

Habilita la depuración remota en Chrome en chrome://inspect/#remote-debugging, o inícialo con --remote-debugging-port=9222.

Clon local (sencillo)

Después de npm install y npm run build en tu clon:

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

Clon local (autoarranque, bash)

Cursor instala y compila en el primer inicio si falta 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"
      }
    }
  }
}

Reemplaza REPO con la ruta de tu clon.

Desarrollo (TypeScript, sin compilación)

{
  "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"
      }
    }
  }
}

Reemplaza REPO con la ruta de tu clon.

Herramientas

Herramienta

Propósito

dev_browser_run

Herramienta principal. Ejecuta un script de Playwright en entorno aislado.

dev_browser_list_pages

Lista las pestañas: {id, url, title, name}

dev_browser_page_open

Obtiene/crea una página con nombre (o se conecta por targetId)

dev_browser_close_page

Cierra una página con nombre

dev_browser_goto

Navega

dev_browser_snapshot

Instantánea de accesibilidad IA (snapshotForAI)

dev_browser_screenshot

Captura de pantalla PNG (también devuelta como imagen)

dev_browser_click

Hace clic por selector CSS o referencia de instantánea

dev_browser_fill

Rellena un campo de entrada

dev_browser_type

Escribe carácter por carácter

dev_browser_evaluate

Evalúa JavaScript en la página

dev_browser_wait_for_selector

Espera un selector

dev_browser_status

Estado del demonio

dev_browser_browsers

Instancias de navegador gestionadas

dev_browser_stop

Detiene el demonio

dev_browser_install

Instala Playwright Chromium

Lee dev-browser://guide para la API completa del entorno aislado, incluyendo page.cua (visión) y page.domCua (ids DOM).

Entorno

Variable

Significado

DEV_BROWSER_BIN

Anula la ruta de la CLI dev-browser incluida

DEV_BROWSER_SKIP_CHROMIUM

true para omitir la configuración posterior a la instalación / automática de Chromium

DEV_BROWSER_BROWSER

Instancia de navegador del demonio con nombre (por defecto: default)

DEV_BROWSER_HEADLESS

true para iniciar Chromium sin ventana

DEV_BROWSER_CONNECT

auto / true para conectarse a Chrome, o una URL CDP

DEV_BROWSER_IGNORE_HTTPS_ERRORS

true para certificados autofirmados

DEV_BROWSER_TIMEOUT

Tiempo de espera del script en segundos (por defecto: 30)

DEV_BROWSER_IDLE_TIMEOUT

Cierra navegadores iniciados inactivos, ej. 5m

Los parámetros por llamada browser, connect, headless, ignoreHttpsErrors y timeoutSeconds anulan el entorno.

Diferencias con Playwright MCP

dev-browser está construido alrededor de un script aislado por decisión, no una larga cadena de llamadas MCP atómicas. Usa dev_browser_run para cualquier cosa más allá de un único goto/click/fill. Las herramientas de conveniencia existen para que los pasos comunes de inspección/acción se mantengan estructurados.

A diferencia de benkraus/dev-browser-mcp (extensión de Chrome + relé CDP), este servidor envuelve la CLI oficial de dev-browser con su entorno aislado QuickJS y páginas persistentes del demonio.

Desarrollo

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