dev-browser-mcp
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 buildO 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 buildRelated 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 |
| Herramienta principal. Ejecuta un script de Playwright en entorno aislado. |
| Lista las pestañas: |
| Obtiene/crea una página con nombre (o se conecta por targetId) |
| Cierra una página con nombre |
| Navega |
| Instantánea de accesibilidad IA ( |
| Captura de pantalla PNG (también devuelta como imagen) |
| Hace clic por selector CSS o referencia de instantánea |
| Rellena un campo de entrada |
| Escribe carácter por carácter |
| Evalúa JavaScript en la página |
| Espera un selector |
| Estado del demonio |
| Instancias de navegador gestionadas |
| Detiene el demonio |
| 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 |
| Anula la ruta de la CLI |
|
|
| Instancia de navegador del demonio con nombre (por defecto: |
|
|
|
|
|
|
| Tiempo de espera del script en segundos (por defecto: |
| Cierra navegadores iniciados inactivos, ej. |
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 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