Skip to main content
Glama
kamkozlowski

dev-browser-mcp

by kamkozlowski

dev-browser-mcp

MCP-Server für SawyerHood/dev-browser. Agents steuern ein persistentes Chromium (oder ein bereits laufendes Chrome) mit sandboxed JavaScript und einem kleinen Satz strukturierter Werkzeuge.

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

Skripte laufen in QuickJS, nicht in Node.js. Benannte Seiten bleiben über Tool-Aufrufe hinweg durch den dev-browser-Daemon bestehen.

dev-browser (CLI + Playwright Chromium) ist eine Abhängigkeit dieses Pakets. npm install lädt die CLI herunter und installiert Chromium. Keine globale dev-browser-Installation erforderlich. Setze DEV_BROWSER_SKIP_CHROMIUM=1, um den Chromium-Download zu überspringen (z. B. wenn du nur an ein bestehendes Chrome anbindest). DEV_BROWSER_BIN überschreibt weiterhin die gebündelte CLI.

Installieren

Klone und baue:

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

Oder installiere aus dem GitHub-Tarball:

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-Konfiguration

Füge zu ~/.cursor/mcp.json (oder Projekt-.cursor/mcp.json) hinzu.

Empfohlen: Bootstrap von GitHub (Cache unter ~/.cache)

Kein lokaler Klon nötig. Beim ersten Start lädt Cursor das Paket herunter, installiert Abhängigkeiten, baut und startet den Server:

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

Wenn du keinen lokalen Klon behältst, verwende diesen Einzeiler (gleiche Logik wie 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"
      }
    }
  }
}

Wenn der Server mit Cannot find module .../dist/index.js nicht startet, entferne den defekten Cache und versuche es erneut:

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

Um an dein laufendes Chrome statt Chromium anzubinden:

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

Aktiviere Remote-Debugging in Chrome unter chrome://inspect/#remote-debugging oder starte mit --remote-debugging-port=9222.

Lokaler Klon (einfach)

Nach npm install und npm run build in deinem Checkout:

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

Lokaler Klon (selbststartend, bash)

Cursor installiert und baut beim ersten Start, wenn dist/ fehlt:

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

Ersetze REPO durch deinen Checkout-Pfad.

Entwicklung (TypeScript, kein Build)

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

Ersetze REPO durch deinen Checkout-Pfad.

Werkzeuge

Tool

Zweck

dev_browser_run

Hauptwerkzeug. Ein sandboxed Playwright-Skript ausführen.

dev_browser_list_pages

Tabs auflisten: {id, url, title, name}

dev_browser_page_open

Eine benannte Seite abrufen/erstellen (oder per targetId anbinden)

dev_browser_close_page

Eine benannte Seite schließen

dev_browser_goto

Navigieren

dev_browser_snapshot

KI-Barrierefreiheits-Snapshot (snapshotForAI)

dev_browser_screenshot

PNG-Screenshot (auch als Bild zurückgegeben)

dev_browser_click

Klicken per CSS-Selektor oder Snapshot-Referenz

dev_browser_fill

Ein Eingabefeld ausfüllen

dev_browser_type

Zeichen für Zeichen eingeben

dev_browser_evaluate

JavaScript in der Seite ausführen (eval)

dev_browser_wait_for_selector

Auf einen Selektor warten

dev_browser_status

Daemon-Status

dev_browser_browsers

Verwaltete Browser-Instanzen

dev_browser_stop

Daemon stoppen

dev_browser_install

Playwright Chromium installieren

Lies dev-browser://guide für die vollständige Sandbox-API, einschließlich page.cua (Vision) und page.domCua (DOM-IDs).

Umgebung

Variable

Bedeutung

DEV_BROWSER_BIN

Überschreibt den gebündelten dev-browser-CLI-Pfad

DEV_BROWSER_SKIP_CHROMIUM

true, um die Postinstall-/Auto-Chromium-Einrichtung zu überspringen

DEV_BROWSER_BROWSER

Benannte Daemon-Browser-Instanz (Standard: default)

DEV_BROWSER_HEADLESS

true, um Chromium ohne Fenster zu starten

DEV_BROWSER_CONNECT

auto / true zum Anbinden an Chrome, oder eine CDP-URL

DEV_BROWSER_IGNORE_HTTPS_ERRORS

true für selbstsignierte Zertifikate

DEV_BROWSER_TIMEOUT

Skript-Timeout in Sekunden (Standard: 30)

DEV_BROWSER_IDLE_TIMEOUT

Gestartete Browser bei Leerlauf schließen, z. B. 5m

Pro-Aufruf-browser, connect, headless, ignoreHttpsErrors und timeoutSeconds überschreiben die Umgebung.

Unterschiede zu Playwright MCP

dev-browser ist um ein sandboxed Skript pro Entscheidung herum aufgebaut, nicht um eine lange Kette atomarer MCP-Aufrufe. Verwende dev_browser_run für alles, was über einen einzelnen goto/click/fill hinausgeht. Komfortwerkzeuge existieren, damit häufige Inspect-/Act-Schritte strukturiert bleiben.

Im Gegensatz zu benkraus/dev-browser-mcp (Chrome-Erweiterung + CDP-Relay) umschließt dieser Server die offizielle dev-browser-CLI mit ihrer QuickJS-Sandbox und persistenten Daemon-Seiten.

Entwicklung

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