Comparativa práctica

Playwright MCP vs Chrome DevTools MCP, puestos a prueba

Pasamos los dos servidores MCP de navegador por el mismo formulario local, cinco veces cada uno: campos de texto, una subida de archivo, dos iframes, un paso que solo una persona puede completar y un reinicio. Aquí tienes qué pasó, qué falló y qué solo leímos en la documentación.

Respuesta corta

  • Cuando arrancaron su propio Chrome, los dos servidores rellenaron todos los campos, subieron el archivo y trabajaron dentro de un iframe del mismo origen y de uno de otro sitio, en cinco de cinco pasadas cada uno.
  • Conectado a un Chrome que una persona ya tenía abierto, Playwright MCP rellenó el formulario abierto al momento. Chrome DevTools MCP 1.10.1 podía hacer clic allí, pero solo pudo rellenar campos después de recargar la página una vez, en todas las pasadas.
  • El Chrome propio de Chrome DevTools MCP devolvió navigator.webdriver = true; el de Playwright MCP, false. En un Chrome que arrancas tú, ambos devolvieron false.
  • Elige Playwright MCP para pasadas limpias y repetibles y una lista de herramientas más corta. Elige Chrome DevTools MCP cuando depures tu propia app web (trazas, Lighthouse, red) o quieras compartir con el agente el Chrome que usas a diario.

Resultados de la prueba

Cada celda cuenta las pasadas superadas de 5. Fecha de la prueba 30 de septiembre de 2026, Google Chrome 154.0.8037.92, @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1 y agent-browser 0.38.1 como tercera columna.

Modo 1: la herramienta arranca su propio Chrome

Cada herramienta lanzó un Chrome sin interfaz con una carpeta de perfil nueva, abrió la página de prueba, inició sesión en ella, rellenó el formulario y pulsó enviar sin marcar el paso humano.

TemaPlaywright MCPChrome DevTools MCPagent-browser
Ambos iframes accesibles desde el snapshot5 de 55 de 55 de 5
Texto, correo, desplegable, botón de opción, casilla y área de texto rellenados5 de 55 de 55 de 5
Subida desde fuera de la carpeta permitida rechazada (por defecto)5 de 55 de 5no medido
El archivo subido llegó intacto (nombre, tamaño, SHA-256)5 de 55 de 55 de 5
Escribió y pulsó en el iframe del mismo origen5 de 55 de 55 de 5
Escribió y pulsó en el iframe de otro sitio5 de 55 de 55 de 5
El formulario aceptó todo salvo el paso humano5 de 55 de 52 de 5
Sesión conservada tras reiniciar con el mismo perfil0 de 55 de 55 de 5
Sesión conservada tras browser_close y un reinicio5 de 5no medidono medido
El modo aislado arrancó sin la sesión anterior5 de 55 de 55 de 5
navigator.webdriver devolvió false5 de 50 de 50 de 5

Modo 2: la herramienta se conecta a un Chrome que ya usa una persona

Arrancamos Chrome nosotros mismos con su propio perfil y un puerto de depuración local. Un sustituto de la persona abrió la página, inició sesión y escribió el nombre del producto. Después la herramienta se conectó, rellenó el resto y se detuvo; el sustituto marcó el paso humano y envió el formulario; la herramienta leyó el resultado.

TemaPlaywright MCPChrome DevTools MCPagent-browser
Encontró la pestaña de la persona y su sesión5 de 55 de 55 de 5
Rellenó los campos de la página tal como estaba5 de 50 de 55 de 5
Rellenó los campos tras una recargano medido5 de 5no medido
El archivo subido llegó intacto (nombre, tamaño, SHA-256)5 de 55 de 55 de 5
Escribió y pulsó en el iframe del mismo origen5 de 55 de 55 de 5
Escribió y pulsó en el iframe de otro sitio5 de 55 de 50 de 5
La persona marcó el paso humano y envió5 de 55 de 50 de 5
El agente leyó el resultado enviado5 de 55 de 50 de 5
El registro de red del agente mostró el POST del formulario5 de 55 de 50 de 5
Se reconectó a la misma pestaña tras reiniciar el servidor5 de 55 de 5no medido
navigator.webdriver devolvió false5 de 55 de 55 de 5

Capturas de las pasadas

Captura de página completa del formulario de prueba local después de que Playwright MCP lo rellenara
Playwright MCP, modo 1: todos los campos, el archivo y ambos iframes están rellenados; el envío solo lo frena el paso humano sin marcar. Captura hecha por la propia herramienta.
Captura de página completa del formulario de prueba local después de que Chrome DevTools MCP lo rellenara
Chrome DevTools MCP, modo 1: todos los campos, el archivo y ambos iframes están rellenados; el envío solo lo frena el paso humano sin marcar. Captura hecha por la propia herramienta.

Cómo lo probamos

  • Fecha 30 de septiembre de 2026, en macOS con Google Chrome 154.0.8037.92. Versiones fijadas: @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1, agent-browser 0.38.1.
  • El formulario es una página de prueba local en 127.0.0.1; el iframe de otro sitio viene de localhost en un segundo puerto. No intervino ningún sitio web real, ninguna cuenta, ningún perfil de navegador personal ni ningún pago.
  • Un pequeño script habló con cada servidor por MCP, exactamente como el cliente de un agente: snapshot, rellenar formulario, subir archivo, clic, leer consola y red. Tomó las referencias de elementos del propio snapshot de cada herramienta. Ningún modelo de lenguaje tomó decisiones, así que cada pasada siguió los mismos pasos.
  • Cada escenario se ejecutó 5 veces por herramienta. Las tablas cuentan las pasadas superadas.
  • La persona del modo 2 es un script que envía comandos simples del DevTools Protocol a la pestaña. Es un sustituto, no una persona real. Para descartarlo como causa del fallo al rellenar de Chrome DevTools MCP, también arrancamos Chrome directamente con la URL de prueba y sin ningún script: mismo resultado.
  • agent-browser se controló desde su línea de comandos, su interfaz principal, no desde su modo MCP.

Lo que esta prueba no cubre

  • CAPTCHAs reales, comprobaciones antibots e inicios de sesión reales en sitios de terceros.
  • Firefox y WebKit, las extensiones de navegador de ambos proyectos y el diálogo de conexión automática de Chrome.
  • Trazas de rendimiento, Lighthouse y herramientas de memoria.
  • Un modelo de lenguaje que elija los pasos: cuántos tokens y turnos necesita un agente real depende del modelo.
  • Windows y Linux.

Lo que destacó

Ambos rechazan subidas desde fuera de una carpeta permitida

Nuestra primera subida venía de una carpeta del proyecto y los dos servidores la rechazaron por defecto. Playwright MCP permite las raíces del espacio de trabajo, o su directorio de trabajo si el cliente no indica ninguna; Chrome DevTools MCP permite la carpeta temporal del sistema si el cliente no indica raíces. Desde una carpeta permitida, el archivo llegó intacto en todas las pasadas: mismo nombre, tamaño y SHA-256. Cada proyecto documenta una opción para ampliar el límite.

Chrome DevTools MCP no pudo rellenar una página abierta antes de conectarse

En el modo 2, Chrome DevTools MCP encontró la pestaña y su sesión, pulsó botones y escribió dentro de ambos iframes, pero rellenar campos en la propia página falló con «did not become interactive» en todas las pasadas. Tras una recarga hecha por el agente, el relleno funcionó y el resto de la prueba se superó. Una recarga descarta todo lo que la página no haya guardado; nuestra página de prueba restaura su borrador, muchos formularios reales no. Playwright MCP no necesitó recargar.

navigator.webdriver depende de quién arranca Chrome

Cuando Chrome DevTools MCP lanzó Chrome, la página vio navigator.webdriver = true, algo que su propia documentación señala como motivo de que fallen algunos inicios de sesión. El Chrome lanzado por Playwright MCP devolvió false. Cuando las herramientas se conectaron a un Chrome que habíamos arrancado nosotros, todas devolvieron false. No probamos ninguna comprobación antibots real.

Playwright MCP conserva el perfil solo tras browser_close

Con una carpeta de perfil persistente, la sesión desaparecía tras reiniciar el servidor si el cliente simplemente se desconectaba. Si el agente llamaba antes a browser_close, se conservaba en todas las pasadas. Chrome DevTools MCP conservó su perfil en todas las pasadas sin necesidad de cerrar.

agent-browser no vio el iframe de otro sitio al conectarse

Como tercera columna, agent-browser rellenó todos los campos, el archivo y ambos iframes cuando arrancó su propio navegador; su clic en enviar se notificó como hecho cada vez, pero la página solo lo registró en algunas pasadas. Conectado a un Chrome en marcha, su snapshot mostraba el iframe del mismo origen pero no el de otro sitio, también tras esperar y hacer un segundo snapshot, así que no se pudo completar el formulario.

TemaTexto oficialQué significa en la práctica
Acceso a archivos en Playwright MCPBy default access to file system is restricted to workspace root directories (or cwd if no roots are configured) only, and navigation to file:// URLs is blocked.Sube archivos desde el espacio de trabajo de tu proyecto o arranca el servidor con --allow-unrestricted-file-access.
Acceso a archivos en Chrome DevTools MCPBy default, file-writing tools are restricted to the OS temp directory when no roots are configured.Si tu cliente no envía raíces MCP, guarda los archivos a subir en la carpeta temporal o añade --filesystem-root.
Inicio de sesión en Chrome DevTools MCPSome accounts may prevent sign-in when the browser is controlled via WebDriver (the default launch mechanism for the Chrome DevTools MCP server).Para sitios en los que inicias sesión, conéctalo a un Chrome que hayas arrancado tú en lugar de dejar que el servidor lance uno.
Perfil en Playwright MCPA persistent profile can only be used by one browser instance at a timeDos agentes en un mismo espacio de trabajo necesitan --isolated o carpetas de perfil separadas.
Playwright CLICLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model contextLa propia Microsoft remite a los agentes de programación con poco contexto a su CLI con skills en lugar del servidor MCP.
Estadísticas en Chrome DevTools MCPGoogle collects usage statistics (such as tool invocation success rates, latency, and environment information) to improve the reliability and performance of Chrome DevTools MCP.Activadas por defecto; añade --no-usage-statistics si no las quieres.

Documentado, no probado

Estas diferencias salen del README y la documentación de cada proyecto en la fecha de lectura. No las medimos.

TemaPlaywright MCPChrome DevTools MCP
NavegadoresChrome, Firefox, WebKit y Edge mediante --browser.Oficialmente Google Chrome y Chrome for Testing; otros navegadores Chromium pueden funcionar.
Tu navegador en uso--cdp-endpoint a un puerto de depuración, o la Playwright Extension con selector de pestañas y aprobación.--browser-url a un puerto de depuración, o --autoConnect en Chrome 144+ con un diálogo de permiso en cada sesión.
PerfilPerfil persistente por defecto; --isolated lo mantiene en memoria; --storage-state carga cookies y almacenamiento.Perfil persistente por defecto; --isolated usa uno temporal que se borra después.
DepuraciónConsola y peticiones de red; trazado, vídeo y herramientas de almacenamiento bajo demanda.Trazas de rendimiento con análisis, auditorías de Lighthouse, instantáneas de memoria, consola con trazas de pila vía source maps, peticiones de red.
Datos enviados al proveedorEl README no describe estadísticas de uso.Estadísticas de uso activadas por defecto (--no-usage-statistics); las herramientas de rendimiento pueden consultar URLs de trazas en la CrUX API (--no-performance-crux).
Sin MCPMicrosoft recomienda Playwright CLI con skills para agentes de programación.Incluye una CLI para usarlo sin MCP.
LicenciaApache-2.0Apache-2.0

Cuánto pesa la lista de herramientas

Antes de abrir ninguna página, Playwright MCP anunció 25 herramientas con 20,3 KB de descripciones, y Chrome DevTools MCP 30 herramientas con 25,7 KB (configuración por defecto, medido con tools/list). Un agente carga ese texto en su contexto durante toda la sesión. Chrome DevTools MCP ofrece --slim con tres herramientas; Playwright MCP añade grupos de herramientas con --caps.

Cuál elegir

Playwright MCP encaja si

  • el agente debe arrancar un navegador limpio para cada tarea, sin interfaz o en CI,
  • también necesitas Firefox o WebKit,
  • el agente retoma un formulario que una persona ya empezó, porque rellenó páginas abiertas sin recargar,
  • quieres una lista de herramientas más corta en el contexto del agente.

Chrome DevTools MCP encaja si

  • depuras tu propia app web y quieres trazas, Lighthouse, red y consola en un solo sitio,
  • quieres compartir con el agente tu Chrome de todos los días mediante la conexión automática,
  • trabajas solo en Chrome y prefieres herramientas mantenidas por el equipo de Chrome DevTools,
  • puedes dejar que el agente recargue una página que no abrió él antes de rellenarla.

¿Y agent-browser?

agent-browser es una herramienta de navegador de línea de comandos para agentes, con un modo MCP opcional. Rellenó el mismo formulario cuando arrancó su propio navegador, pero no vio el iframe de otro sitio al conectarse a un Chrome en marcha. Vale la pena probarlo si tu agente trabaja mejor con comandos de shell cortos que con herramientas MCP.

Claude in Chrome vs Chrome DevTools MCP: comparativa →

Haz la prueba tú mismo

La página de prueba es un único archivo de Node.js sin dependencias. Solo escucha en tu propio equipo.

  1. Descarga el archivo y ejecútalo con Node.js 18 o posterior.
  2. Abre una vez http://127.0.0.1:4461/ para ver la página; el iframe de otro sitio se carga desde http://localhost:4462/.
  3. Añade a tu agente una de las entradas MCP de abajo y pídele que rellene el formulario, suba cualquier PNG pequeño, rellene ambos iframes y se detenga antes del paso humano.
  4. Marca tú el paso humano, envía el formulario y pregunta al agente qué muestra ahora la página.

Descargar browser-mcp-test.mjs

El archivo sirve el formulario, el iframe y un endpoint de eco local. No se envía nada a ningún otro sitio.

La herramienta arranca su propio Chrome

Playwright MCP

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@0.0.83"
      ]
    }
  }
}

Chrome DevTools MCP

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@1.10.1",
        "--no-usage-statistics"
      ]
    }
  }
}

La herramienta se conecta a un Chrome que arrancaste en el puerto 9222

Playwright MCP

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@0.0.83",
        "--cdp-endpoint",
        "http://127.0.0.1:9222"
      ]
    }
  }
}

Chrome DevTools MCP

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@1.10.1",
        "--browser-url=http://127.0.0.1:9222",
        "--no-usage-statistics"
      ]
    }
  }
}

Qué usa LaunchRepo

  • Los playbooks de LaunchRepo están escritos y probados para Chrome DevTools MCP conectado a tu propio Chrome, porque los envíos a directorios necesitan tus sesiones reales y debes ver cada paso.
  • Con un Chrome que arrancas tú, navigator.webdriver se quedó en false para todas las herramientas de esta prueba, y el relevo funcionó: tú terminas un paso en la misma pestaña y el agente lee el resultado.
  • Si un formulario de directorio ya está abierto cuando el agente se conecta, deja que recargue la página antes de escribir nada, para que no se pierda lo que hayas introducido.

Fuentes

Páginas y repositorios oficiales, leídos el 30 de septiembre de 2026. Las citas se copian palabra por palabra; los resultados de la prueba son mediciones propias.

Preguntas frecuentes

¿Qué es mejor para agentes de programación, Playwright MCP o Chrome DevTools MCP?
Ninguno gana en todo. En nuestra prueba, ambos superaron todas las comprobaciones del formulario cuando arrancaron su propio Chrome. Playwright MCP además rellenó una página que una persona ya había abierto y anunció una lista de herramientas más corta; Chrome DevTools MCP aporta trazas de rendimiento, Lighthouse y herramientas de red y consola más completas para depurar tu propia app.
¿Puede Chrome DevTools MCP usar el Chrome en el que tengo la sesión iniciada?
Sí. Con --autoConnect se conecta a tu Chrome en marcha, versión 144 o posterior, después de que permitas la depuración remota y confirmes un diálogo. O arranca Chrome con un puerto de depuración remota y una carpeta de perfil aparte y apunta --browser-url a él; desde Chrome 136 el puerto se ignora para el perfil predeterminado.
¿Los dos funcionan con iframes?
Sí, en nuestras pasadas ambos llegaron a un iframe del mismo origen y a uno de otro sitio en los dos modos, cinco de cinco veces, y pudieron escribir y hacer clic dentro.
¿Por qué falló la subida del archivo?
Por defecto, ambos servidores solo leen archivos de carpetas permitidas: Playwright MCP de las raíces del espacio de trabajo o de su directorio de trabajo, Chrome DevTools MCP de la carpeta temporal del sistema cuando tu cliente no indica raíces. Mueve el archivo allí o usa la opción documentada para ampliar el límite.
¿Pueden estas herramientas resolver CAPTCHAs?
Ninguna documenta una función para CAPTCHAs, y no probamos CAPTCHAs reales. Planifica un relevo: el agente se detiene, tú resuelves el paso en la misma ventana visible y el agente continúa. En nuestra prueba con conexión a un Chrome abierto, ese relevo funcionó con los dos servidores.
¿navigator.webdriver delata al agente?
En nuestra prueba solo fue true cuando Chrome DevTools MCP lanzó Chrome por su cuenta. El Chrome propio de Playwright MCP y cualquier Chrome que arrancamos nosotros devolvieron false. Si un sitio reacciona a ello depende de ese sitio; no probamos comprobaciones antibots reales.

Deja que tu agente haga el lanzamiento en directorios

LaunchRepo da a tu agente de programación playbooks probados para plataformas de lanzamiento y directorios. Trabaja en tu propio Chrome a través de Chrome DevTools MCP, y tú decides si envía por su cuenta o te pregunta antes.

Ver precios