Chrome DevTools MCP

oficial

Servidor oficial de Chrome DevTools MCP para controlar e inspeccionar un navegador Chrome en vivo desde agentes de codificación como Gemini, Claude, Cursor y Copilot.

¿Qué puedes hacer con Chrome Dev Tools MCP?

  • Registrar y analizar trazas de rendimiento — inicia una traza con performance_start_trace, detenla con performance_stop_trace y luego obtén información procesable mediante performance_analyze_insight.
  • Inspeccionar actividad de red — lista todas las solicitudes usando list_network_requests y recupera detalles de solicitudes individuales con get_network_request.
  • Depurar errores de consola y estado en tiempo de ejecución — recupera mensajes de consola mediante list_console_messages y get_console_message, o ejecuta JavaScript arbitrario con evaluate_script.
  • Automatizar interacciones del navegador — navega, haz clic, completa formularios y simula entrada usando herramientas como navigate_page, click, fill y press_key.
  • Capturar estado visual — toma capturas de pantalla de la página con take_screenshot o instantáneas de accesibilidad con take_snapshot.
  • Diagnosticar problemas de memoria — captura instantáneas del montón con take_heapsnapshot e inspecciona retenedores de objetos, dominadores o compara instantáneas.

Documentación

Chrome DevTools para agentes

npm chrome-devtools-mcp package

Chrome DevTools para agentes (chrome-devtools-mcp) permite que tu agente de codificación (como Antigravity, Claude, Cursor o Copilot) controle e inspeccione un navegador Chrome en vivo. Actúa como un servidor del Protocolo de Contexto de Modelo (MCP), dando a tu asistente de codificación con IA acceso a todo el poder de Chrome DevTools para automatización confiable, depuración en profundidad y análisis de rendimiento. También se proporciona una CLI para usar sin MCP.

Referencia de herramientas | Registro de cambios | Contribuciones | Solución de problemas | Principios de diseño

Características principales

  • Obtén información de rendimiento: Usa Chrome DevTools para grabar trazas y extraer información procesable sobre el rendimiento.
  • Depuración avanzada del navegador: Analiza solicitudes de red, toma capturas de pantalla y revisa los mensajes de la consola del navegador (con trazas de pila mapeadas al código fuente).
  • Automatización confiable. Usa puppeteer para automatizar acciones en Chrome y esperar automáticamente los resultados de las acciones.

Avisos legales

chrome-devtools-mcp expone el contenido de la instancia del navegador a los clientes MCP permitiéndoles inspeccionar, depurar y modificar cualquier dato en el navegador o DevTools. Evita compartir información sensible o personal que no quieras compartir con los clientes MCP.

chrome-devtools-mcp solo es compatible oficialmente con Google Chrome y Chrome for Testing. Otros navegadores basados en Chromium pueden funcionar, pero no está garantizado, y podrías encontrar comportamientos inesperados. Úsalo bajo tu propia discreción. Estamos comprometidos a proporcionar correcciones y soporte para la última versión de Extended Stable Chrome.

Las herramientas de rendimiento pueden enviar URLs de trazas a la API de Google CrUX para obtener datos de experiencia de usuario real. Esto ayuda a proporcionar una imagen holística del rendimiento al presentar datos de campo junto con datos de laboratorio. Estos datos son recopilados por el https://developer.chrome.com/docs/crux. Para desactivar esto, ejecuta con la bandera --no-performance-crux.

Estadísticas de uso

Google recopila estadísticas de uso (como tasas de éxito de invocación de herramientas, latencia e información del entorno) para mejorar la confiabilidad y el rendimiento de Chrome DevTools MCP.

La recopilación de datos está habilitada por defecto. Puedes optar por no participar pasando la bandera --no-usage-statistics al iniciar el servidor:

"args": ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]

Google maneja estos datos de acuerdo con la Política de Privacidad de Google.

La recopilación de estadísticas de uso de Google para Chrome DevTools MCP es independiente de las estadísticas de uso del navegador Chrome. Optar por no participar en las métricas de Chrome no te excluye automáticamente de esta herramienta, y viceversa.

La recopilación se desactiva si las variables de entorno CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS o CI están configuradas.

Verificaciones de actualización

Por defecto, el servidor verifica periódicamente el registro de npm en busca de actualizaciones y registra una notificación cuando una versión más reciente está disponible. Puedes desactivar estas verificaciones de actualización configurando la variable de entorno CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS.

Requisitos

Primeros pasos

Añade la siguiente configuración a tu cliente MCP:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest"]
    }
  }
}

[!NOTE] Usar chrome-devtools-mcp@latest asegura que tu cliente MCP siempre usará la última versión del servidor MCP de Chrome DevTools.

Si solo te interesa realizar tareas básicas de navegador, usa el modo --slim:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless"]
    }
  }
}

Consulta la Referencia de herramientas Slim.

Configuración del cliente MCP

Amp Sigue https://ampcode.com/manual#mcp y usa la configuración proporcionada arriba. También puedes instalar el servidor MCP de Chrome DevTools usando la CLI:
amp mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
Antigravity

Para usar el servidor MCP de Chrome DevTools sigue las instrucciones de la documentación de Antigravity para instalar un servidor MCP personalizado. Añade la siguiente configuración a la configuración de servidores MCP:

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

Esto hará que el servidor MCP de Chrome DevTools se conecte automáticamente al navegador que Antigravity está usando. Si no estás usando el puerto 9222, asegúrate de ajustarlo en consecuencia.

Chrome DevTools MCP no iniciará la instancia del navegador automáticamente usando este enfoque porque el servidor MCP de Chrome DevTools se conecta al navegador integrado de Antigravity. Si el navegador no está ya en ejecución, tienes que iniciarlo primero haciendo clic en el icono de Chrome en la esquina superior derecha.

Claude Code

Instalar vía CLI (solo MCP)

Usa la CLI de Claude Code para añadir el servidor MCP de Chrome DevTools (guía):

claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest

Instalar como Plugin (MCP + Skills)

[!NOTE] Si ya tenías Chrome DevTools MCP instalado previamente para Claude Code, asegúrate de eliminarlo primero de tus archivos de instalación y configuración.

Para instalar Chrome DevTools MCP con skills, añade el registro del marketplace en Claude Code:

/plugin marketplace add ChromeDevTools/chrome-devtools-mcp

Luego, instala el plugin:

/plugin install chrome-devtools-mcp@chrome-devtools-plugins

Reinicia Claude Code para que el servidor MCP y las skills se carguen (verifica con /skills).

[!TIP] Si la instalación del plugin falla con un error Failed to clone repository (por ejemplo, problemas de conectividad HTTPS detrás de un firewall corporativo), consulta la guía de solución de problemas para soluciones alternativas, o usa el método de instalación CLI de arriba en su lugar.

Cline Sigue https://docs.cline.bot/mcp/configuring-mcp-servers y usa la configuración proporcionada arriba.
Codex Sigue la guía de configuración de MCP usando la configuración estándar de arriba. También puedes instalar el servidor MCP de Chrome DevTools usando la CLI de Codex:
codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest

En Windows 11

Configura la ubicación de instalación de Chrome y aumenta el tiempo de espera de inicio actualizando .codex/config.toml y añadiendo los siguientes parámetros env y startup_timeout_ms:

[mcp_servers.chrome-devtools]
command = "cmd"
args = [
    "/c",
    "npx",
    "-y",
    "chrome-devtools-mcp@latest",
]
env = { SystemRoot="C:\\Windows", PROGRAMFILES="C:\\Program Files" }
startup_timeout_ms = 20_000
Command Code

Usa la CLI de Command Code para añadir el servidor MCP de Chrome DevTools (guía MCP):

cmd mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest
Copilot CLI

Inicia Copilot CLI:

copilot

Inicia el diálogo para añadir un nuevo servidor MCP ejecutando:

/mcp add

Configura los siguientes campos y presiona CTRL+S para guardar la configuración:

  • Nombre del servidor: chrome-devtools
  • Tipo de servidor: [1] Local
  • Comando: npx -y chrome-devtools-mcp@latest
Copilot / VS Code

Instalar como Plugin (Recomendado)

La forma más fácil de empezar es instalar chrome-devtools-mcp como un plugin de agente. Esto agrupa el servidor MCP y todas las skills juntas, para que tu agente obtenga tanto las herramientas como la guía experta que necesita para usarlas eficazmente.

  1. Abre la Paleta de Comandos (Cmd+Shift+P en macOS o Ctrl+Shift+P en Windows/Linux).
  2. Busca y ejecuta el comando Chat: Install Plugin From Source.
  3. Pega el nombre de nuestro repositorio: ChromeDevTools/chrome-devtools-mcp.

¡Eso es todo! Tu agente ahora está potenciado con las capacidades de Chrome DevTools.


Instalar como Servidor MCP (solo MCP)

Haz clic en el botón para instalar:

Install in VS Code

Install in VS Code Insiders

O instala manualmente:

Sigue la guía de configuración MCP de VS Code usando la configuración estándar de arriba, o usa la CLI:

Para macOS y Linux:

code --add-mcp '{"name":"io.github.ChromeDevTools/chrome-devtools-mcp","command":"npx","args":["-y","chrome-devtools-mcp"],"env":{}}'

Para Windows (PowerShell):

code --add-mcp '{"""name""":"""io.github.ChromeDevTools/chrome-devtools-mcp""","""command""":"""npx""","""args""":["""-y""","""chrome-devtools-mcp"""]}'
Cursor

Haz clic en el botón para instalar:

Install in Cursor

O instala manualmente:

Ve a Cursor Settings -> MCP -> New MCP Server. Usa la configuración proporcionada arriba.

Factory CLI Usa la CLI de Factory para añadir el servidor MCP de Chrome DevTools (guía):
droid mcp add chrome-devtools "npx -y chrome-devtools-mcp@latest"
Gemini CLI Instala el servidor MCP de Chrome DevTools usando la CLI de Gemini.

Para todo el proyecto:

# Either MCP only:
gemini mcp add chrome-devtools npx chrome-devtools-mcp@latest
# Or as a Gemini extension (MCP+Skills):
gemini extensions install --auto-update https://github.com/ChromeDevTools/chrome-devtools-mcp

Globalmente:

gemini mcp add -s user chrome-devtools npx chrome-devtools-mcp@latest

Alternativamente, sigue la guía MCP y usa la configuración estándar de arriba.

Gemini Code Assist Sigue la guía de configuración de MCP usando la configuración estándar de arriba.
Grok Build CLI
grok mcp add chrome-devtools npx chrome-devtools-mcp@latest

Consulta la documentación para más opciones

JetBrains AI Assistant & Junie

Ve a Settings | Tools | AI Assistant | Model Context Protocol (MCP) -> Add. Usa la configuración proporcionada arriba. De la misma manera, chrome-devtools-mcp se puede configurar para JetBrains Junie en Settings | Tools | Junie | MCP Settings -> Add. Usa la configuración proporcionada arriba.

Kiro

En Configuración de Kiro, ve a Configure MCP > Open Workspace or User MCP Config > Usa el fragmento de configuración proporcionado arriba.

O, desde la Barra de Actividades del IDE > Kiro > MCP Servers > Click Open MCP Config. Usa el fragmento de configuración proporcionado arriba.

Katalon Studio

El servidor MCP de Chrome DevTools se puede usar con Katalon StudioAssist a través de un proxy MCP.

Paso 1: Instala el proxy MCP siguiendo la guía de configuración del proxy MCP.

Paso 2: Inicia el servidor MCP de Chrome DevTools con el proxy:

mcp-proxy --transport streamablehttp --port 8080 -- npx -y chrome-devtools-mcp@latest

Nota: Puede que necesites elegir otro puerto si el 8080 ya está en uso.

Paso 3: En Katalon Studio, añade el servidor a StudioAssist con la siguiente configuración:

  • URL de conexión: http://127.0.0.1:8080/mcp
  • Tipo de transporte: HTTP

Una vez conectado, las herramientas MCP de Chrome DevTools estarán disponibles en StudioAssist.

Mistral Vibe

Añade en ~/.vibe/config.toml:

[[mcp_servers]]
name = "chrome-devtools"
transport = "stdio"
command = "npx"
args = ["chrome-devtools-mcp@latest"]
OpenCode

Añade la siguiente configuración a tu archivo opencode.json. Si no tienes uno, créalo en ~/.config/opencode/opencode.json (guía):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "chrome-devtools": {
      "type": "local",
      "command": ["npx", "-y", "chrome-devtools-mcp@latest"]
    }
  }
}
Qoder

En Configuración de Qoder, ve a MCP Server > + Add > Usa el fragmento de configuración proporcionado arriba.

Alternativamente, sigue la guía MCP y usa la configuración estándar de arriba.

Qoder CLI

Instala el servidor MCP de Chrome DevTools usando la CLI de Qoder (guía):

Para todo el proyecto:

qodercli mcp add chrome-devtools -- npx chrome-devtools-mcp@latest

Globalmente:

qodercli mcp add -s user chrome-devtools -- npx chrome-devtools-mcp@latest
Visual Studio

Haz clic en el botón para instalar:

Install in Visual Studio

Warp

Ve a Settings | AI | Manage MCP Servers -> + Add para añadir un Servidor MCP. Usa la configuración proporcionada arriba.

Windsurf Sigue la guía de configuración de MCP usando la configuración estándar de arriba.
### Tu primer prompt

Ingresa el siguiente prompt en tu Cliente MCP para verificar que todo funcione:

Check the performance of https://developers.chrome.com

Tu cliente MCP debería abrir el navegador y grabar una traza de rendimiento.

[!NOTE] El servidor MCP iniciará el navegador automáticamente una vez que el cliente MCP use una herramienta que requiera una instancia del navegador en ejecución. Conectarse al servidor Chrome DevTools MCP por sí solo no iniciará el navegador automáticamente.

Herramientas

Si encuentras algún problema, consulta nuestra guía de solución de problemas.

Configuración

El servidor Chrome DevTools MCP admite las siguientes opciones de configuración:

  • --autoConnect/ --auto-connect Si se especifica, se conecta automáticamente a un navegador (Chrome 144+) que se ejecuta localmente desde el directorio de datos de usuario identificado por el parámetro de canal (el canal predeterminado es estable). Requiere que el servidor de depuración remota esté iniciado en la instancia de Chrome a través de chrome://inspect/#remote-debugging.

    • Tipo: boolean
    • Predeterminado: false
  • --browserUrl/ --browser-url, -u Conectarse a una instancia de Chrome en ejecución y depurable (p. ej., http://127.0.0.1:9222). Para más detalles, consulta: https://github.com/ChromeDevTools/chrome-devtools-mcp#connecting-to-a-running-chrome-instance.

    • Tipo: string
    • Predeterminado: false
  • --wsEndpoint/ --ws-endpoint, -w Endpoint WebSocket para conectarse a una instancia de Chrome en ejecución (p. ej., ws://127.0.0.1:9222/devtools/browser/). Alternativa a --browserUrl.

    • Tipo: string
    • Predeterminado: false
  • --wsHeaders/ --ws-headers Cabeceras personalizadas para la conexión WebSocket en formato JSON (p. ej., '{"Authorization":"Bearer token"}'). Solo funciona con --wsEndpoint.

    • Tipo: string
    • Predeterminado: false
  • --headless Si se ejecuta en modo headless (sin interfaz de usuario).

    • Tipo: boolean
    • Predeterminado: false
  • --executablePath/ --executable-path, -e Ruta al ejecutable de Chrome personalizado.

    • Tipo: string
    • Predeterminado: false
  • --isolated Si se especifica, crea un directorio temporal de datos de usuario que se limpia automáticamente después de cerrar el navegador. El valor predeterminado es false.

    • Tipo: boolean
    • Predeterminado: false
  • --userDataDir/ --user-data-dir Ruta al directorio de datos de usuario para Chrome. El valor predeterminado es $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE

    • Tipo: string
    • Predeterminado: false
  • --channel Especifica un canal de Chrome diferente que se debe usar. El valor predeterminado es la versión del canal estable.

    • Tipo: string
    • Opciones: canary, dev, beta, stable
    • Predeterminado: false
  • --logFile/ --log-file Ruta a un archivo para escribir registros de depuración. Establece la variable de entorno DEBUG a * para habilitar registros detallados. Útil para enviar informes de errores.

    • Tipo: string
    • Predeterminado: false
  • --viewport Tamaño de ventana inicial para las instancias de Chrome iniciadas por el servidor. Por ejemplo, 1280x720. En modo headless, el tamaño máximo es 3840x2160px.

    • Tipo: string
    • Predeterminado: false
  • --proxyServer/ --proxy-server Configuración del servidor proxy para Chrome, pasada como --proxy-server al iniciar el navegador. Consulta https://www.chromium.org/developers/design-documents/network-settings/ para más detalles.

    • Tipo: string
    • Predeterminado: false
  • --acceptInsecureCerts/ --accept-insecure-certs Si está habilitado, ignora los errores relativos a certificados autofirmados y caducados. Úsalo con precaución.

    • Tipo: boolean
    • Predeterminado: false
  • --experimentalPageIdRouting/ --experimental-page-id-routing Si se expone pageId en las herramientas con ámbito de página y se enrutan las solicitudes por ID de página (útil para sesiones de agente concurrentes).

    • Tipo: boolean
    • Predeterminado: false
  • --experimentalDevtools/ --experimental-devtools Si se habilita la automatización sobre los objetivos de DevTools

    • Tipo: boolean
    • Predeterminado: false
  • --experimentalVision/ --experimental-vision Si se habilitan herramientas basadas en coordenadas como click_at(x,y). Normalmente requiere un modelo de uso de computadora capaz de producir coordenadas precisas al observar capturas de pantalla.

    • Tipo: boolean
    • Predeterminado: false
  • --memoryDebugging/ --memory-debugging, -experimentalMemory Si se habilitan las herramientas de depuración de memoria.

    • Tipo: boolean
    • Predeterminado: false
  • --experimentalStructuredContent/ --experimental-structured-content Si se debe generar contenido con formato estructurado.

    • Tipo: boolean
    • Predeterminado: false
  • --experimentalIncludeAllPages/ --experimental-include-all-pages Si se deben incluir todo tipo de páginas, como webviews o páginas en segundo plano, como páginas.

    • Tipo: boolean
    • Predeterminado: false
  • --experimentalScreencast/ --experimental-screencast Expone herramientas experimentales de screencast (requiere ffmpeg). Instala ffmpeg https://www.ffmpeg.org/download.html y asegúrate de que esté disponible en el PATH del servidor MCP.

    • Tipo: boolean
    • Predeterminado: false
  • --experimentalFfmpegPath/ --experimental-ffmpeg-path Ruta al ejecutable de ffmpeg para la grabación de screencast.

    • Tipo: string
    • Predeterminado: false
  • --categoryExperimentalWebmcp/ --category-experimental-webmcp Establécelo en true para habilitar la depuración de herramientas WebMCP. Requiere Chrome 149+ con los siguientes flags: --enable-features=WebMCP,DevToolsWebMCPSupport

    • Tipo: boolean
    • Predeterminado: false
  • --chromeArg/ --chrome-arg Argumentos adicionales para Chrome. Solo se aplica cuando Chrome es iniciado por chrome-devtools-mcp.

    • Tipo: array
    • Predeterminado: false
  • --blockedUrlPattern/ --blocked-url-pattern Restringe el acceso de red del navegador bloqueando los patrones de URL especificados (usa https://urlpattern.spec.whatwg.org/). Se desconecta silenciosamente de los objetivos con URLs bloqueadas al conectarse y bloquea las solicitudes en tiempo de ejecución (incluidas las navegaciones y los subrecursos). Acepta un array de patrones.

    • Tipo: array
    • Predeterminado: false
  • --allowedUrlPattern/ --allowed-url-pattern Restringe el acceso de red del navegador permitiendo solo los patrones de URL especificados (usa https://urlpattern.spec.whatwg.org/). Requiere Chrome 149+. Se desconecta silenciosamente de los objetivos con URLs no permitidas al conectarse y bloquea las solicitudes en tiempo de ejecución (incluidas las navegaciones y los subrecursos). Acepta un array de patrones.

    • Tipo: array
    • Predeterminado: false
  • --ignoreDefaultChromeArg/ --ignore-default-chrome-arg Deshabilita explícitamente los argumentos predeterminados para Chrome. Solo se aplica cuando Chrome es iniciado por chrome-devtools-mcp.

    • Tipo: array
    • Predeterminado: false
  • --categoryEmulation/ --category-emulation Establécelo en false para excluir las herramientas relacionadas con la emulación.

    • Tipo: boolean
    • Predeterminado: true
  • --categoryPerformance/ --category-performance Establécelo en false para excluir las herramientas relacionadas con el rendimiento.

    • Tipo: boolean
    • Predeterminado: true
  • --categoryNetwork/ --category-network Establécelo en false para excluir las herramientas relacionadas con la red.

    • Tipo: boolean
    • Predeterminado: true
  • --categoryExtensions/ --category-extensions Establécelo en true para incluir herramientas relacionadas con las extensiones. Nota: Esta función actualmente solo es compatible con una conexión de tubería. autoConnect, browserUrl y wsEndpoint no son compatibles con esta función hasta que se lance la versión 149.

    • Tipo: boolean
    • Predeterminado: false
  • --categoryExperimentalThirdParty/ --category-experimental-third-party Establécelo en true para habilitar las herramientas de desarrollo de terceros expuestas por la propia página inspeccionada

    • Tipo: boolean
    • Predeterminado: false
  • --performanceCrux/ --performance-crux Establécelo en false para deshabilitar el envío de URLs desde las trazas de rendimiento a la API de CrUX para obtener datos de rendimiento de campo.

    • Tipo: boolean
    • Predeterminado: true
  • --usageStatistics/ --usage-statistics Establécelo en false para optar por no participar en la recopilación de estadísticas de uso. Google recopila datos de uso para mejorar la herramienta, gestionados bajo la Política de Privacidad de Google (https://policies.google.com/privacy). Esto es independiente de las métricas del navegador Chrome. Se deshabilita si las variables de entorno CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS o CI están configuradas.

    • Tipo: boolean
    • Predeterminado: true
  • --screenshotFormat/ --screenshot-format Anula el formato de salida predeterminado utilizado por take_screenshot cuando el llamante no especifica uno. JPEG y WebP son ~3-5 veces más pequeños que PNG, lo que ayuda a reducir el tamaño del contexto en las conversaciones de IA. Dejarlo sin configurar conserva el valor predeterminado existente ("png").

    • Tipo: string
    • Opciones: jpeg, png, webp
    • Predeterminado: false
  • --screenshotQuality/ --screenshot-quality Anula la calidad de compresión predeterminada (0-100) utilizada por take_screenshot para JPEG y WebP cuando el llamante no especifica una. Los valores más bajos significan archivos más pequeños. Se ignora para PNG. Dejarlo sin configurar conserva el valor predeterminado de Puppeteer.

    • Tipo: number
    • Predeterminado: false
  • --screenshotMaxWidth/ --screenshot-max-width Ancho máximo en píxeles para las capturas de pantalla. Si la imagen capturada es más ancha, se reduce (conservando la relación de aspecto) antes de ser devuelta. Reduce el tamaño del contexto en las conversaciones de IA. Dejarlo sin configurar significa que no se redimensiona.

    • Tipo: number
    • Predeterminado: false
  • --screenshotMaxHeight/ --screenshot-max-height Altura máxima en píxeles para las capturas de pantalla. Si la imagen capturada es más alta, se reduce (conservando la relación de aspecto) antes de devolverla. Se puede combinar con --screenshot-max-width; gana el factor de escala más pequeño. Sin establecer significa que no se redimensiona.

    • Tipo: number
    • Por defecto: false
  • --slim Expone un conjunto "reducido" de 3 herramientas que cubren solo navegación, ejecución de scripts y capturas de pantalla. Útil para tareas básicas del navegador.

    • Tipo: boolean
    • Por defecto: false
  • --redactNetworkHeaders/ --redact-network-headers Si es true, oculta algunas de las cabeceras de red consideradas sensibles antes de devolverlas al cliente.

    • Tipo: boolean
    • Por defecto: false
  • --allowUnrestrictedPaths/ --allow-unrestricted-paths Si se establece, desactiva la restricción de ruta predeterminada que se aplica cuando el cliente MCP no negocia la capacidad de raíces. Por defecto, las herramientas de escritura de archivos están restringidas al directorio temporal del sistema operativo cuando no se configuran raíces. Úselo solo cuando conecte un cliente local de confianza que no implemente raíces MCP y requiera acceso a rutas fuera del directorio temporal.

    • Tipo: boolean
    • Por defecto: false

Páselos a través de la propiedad args en la configuración JSON. Por ejemplo:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "chrome-devtools-mcp@latest",
        "--channel=canary",
        "--headless=true",
        "--isolated=true"
      ]
    }
  }
}

Conexión mediante WebSocket con cabeceras personalizadas

Puede conectarse directamente a un endpoint WebSocket de Chrome e incluir cabeceras personalizadas (por ejemplo, para autenticación):

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "chrome-devtools-mcp@latest",
        "--wsEndpoint=ws://127.0.0.1:9222/devtools/browser/<id>",
        "--wsHeaders={\"Authorization\":\"Bearer YOUR_TOKEN\"}"
      ]
    }
  }
}

Para obtener el endpoint WebSocket de una instancia de Chrome en ejecución, visite http://127.0.0.1:9222/json/version y busque el campo webSocketDebuggerUrl.

También puede ejecutar npx chrome-devtools-mcp@latest --help para ver todas las opciones de configuración disponibles.

Conceptos

Sesiones concurrentes

La mayoría de los clientes MCP inician un servidor Chrome DevTools MCP por conversación. Si su cliente comparte una única instancia de servidor entre agentes o subagentes concurrentes, inicie el servidor con --experimentalPageIdRouting. Esto expone pageId en las herramientas de ámbito de página para que cada agente pueda enrutar las llamadas a la herramienta a la pestaña con la que está trabajando.

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest",
        "--experimentalPageIdRouting"
      ]
    }
  }
}

Si ejecuta múltiples sesiones de cliente MCP independientes y desea que cada sesión lance su propio perfil temporal de Chrome, pase también --isolated. Esto evita compartir el directorio de datos de usuario predeterminado de Chrome DevTools MCP entre esas instancias de servidor.

Directorio de datos de usuario

chrome-devtools-mcp inicia una instancia del canal estable de Chrome utilizando el siguiente directorio de datos de usuario:

  • Linux / macOS: $HOME/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL
  • Windows: %HOMEPATH%/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL

El directorio de datos de usuario no se limpia entre ejecuciones y se comparte entre todas las instancias de chrome-devtools-mcp. Establezca la opción isolated a true para usar en su lugar un directorio de datos de usuario temporal que se limpiará automáticamente después de que se cierre el navegador.

Conexión a una instancia de Chrome en ejecución

Por defecto, el servidor Chrome DevTools MCP iniciará una nueva instancia de Chrome con un perfil dedicado. Esto podría no ser ideal en todas las situaciones:

  • Si desea mantener el mismo estado de la aplicación al alternar entre pruebas manuales del sitio y pruebas dirigidas por agentes.
  • Cuando el MCP necesita iniciar sesión en un sitio web. Algunas cuentas pueden impedir el inicio de sesión cuando el navegador se controla mediante WebDriver (el mecanismo de lanzamiento predeterminado para el servidor Chrome DevTools MCP).
  • Si está ejecutando su LLM dentro de un entorno aislado (sandbox), pero desea conectarse a una instancia de Chrome que se ejecuta fuera del entorno aislado.

En estos casos, inicie Chrome primero y permita que el servidor Chrome DevTools MCP se conecte a él. Hay dos maneras de hacerlo:

  • Conexión automática (disponible en Chrome 144): mejor para compartir el estado entre pruebas manuales y dirigidas por agentes.
  • Conexión manual mediante puerto de depuración remota: mejor cuando se ejecuta dentro de un entorno aislado.

Conexión automática a una instancia de Chrome en ejecución

Paso 1: Configurar la depuración remota en Chrome

En Chrome (>= M144), haga lo siguiente para configurar la depuración remota:

  1. Navegue a chrome://inspect/#remote-debugging para habilitar la depuración remota.
  2. Siga la interfaz de usuario del diálogo para permitir o rechazar las conexiones de depuración entrantes.

Paso 2: Configurar el servidor Chrome DevTools MCP para que se conecte automáticamente a una instancia de Chrome en ejecución

Para conectar el servidor chrome-devtools-mcp a la instancia de Chrome en ejecución, use el argumento de línea de comandos --autoConnect para el servidor MCP.

El siguiente fragmento de código es un ejemplo de configuración para gemini-cli:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["chrome-devtools-mcp@latest", "--autoConnect"]
    }
  }
}

Paso 3: Probar su configuración

Asegúrese de que su navegador esté en ejecución. Abra gemini-cli y ejecute el siguiente prompt:

Check the performance of https://developers.chrome.com

[!NOTE] La opción autoConnect requiere que el usuario inicie Chrome. Si el usuario tiene múltiples perfiles activos, el servidor MCP se conectará al perfil predeterminado (según lo determine Chrome). El servidor MCP tiene acceso a todas las ventanas abiertas para el perfil seleccionado.

El servidor Chrome DevTools MCP intentará conectarse a su instancia de Chrome en ejecución. Muestra un diálogo solicitando permiso al usuario.

Al hacer clic en Permitir, el servidor Chrome DevTools MCP abrirá developers.chrome.com y realizará un trazado de rendimiento.

Conexión manual mediante reenvío de puertos

Puede conectarse a una instancia de Chrome en ejecución utilizando la opción --browser-url. Esto es útil si está ejecutando el servidor MCP en un entorno aislado que no permite iniciar una nueva instancia de Chrome.

Aquí tiene una guía paso a paso sobre cómo conectarse a una instancia de Chrome en ejecución:

Paso 1: Configurar el cliente MCP

Añada la opción --browser-url a la configuración de su cliente MCP. El valor de esta opción debe ser la URL de la instancia de Chrome en ejecución. http://127.0.0.1:9222 es un valor predeterminado común.

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "chrome-devtools-mcp@latest",
        "--browser-url=http://127.0.0.1:9222"
      ]
    }
  }
}

Paso 2: Iniciar el navegador Chrome

[!WARNING] Habilitar el puerto de depuración remota abre un puerto de depuración en la instancia del navegador en ejecución. Cualquier aplicación en su máquina puede conectarse a este puerto y controlar el navegador. Asegúrese de no estar navegando por sitios web sensibles mientras el puerto de depuración esté abierto.

Inicie el navegador Chrome con el puerto de depuración remota habilitado. Asegúrese de cerrar cualquier instancia de Chrome en ejecución antes de iniciar una nueva con el puerto de depuración habilitado. El número de puerto que elija debe ser el mismo que especificó en la opción --browser-url en la configuración de su cliente MCP.

Por razones de seguridad, Chrome requiere que use un directorio de datos de usuario no predeterminado al habilitar el puerto de depuración remota. Puede especificar un directorio personalizado usando la bandera --user-data-dir. Esto asegura que su perfil de navegación habitual y sus datos no estén expuestos a la sesión de depuración.

macOS

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable

Linux

/usr/bin/google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable

Windows

"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="%TEMP%\chrome-profile-stable"

Paso 3: Probar su configuración

Después de configurar el cliente MCP e iniciar el navegador Chrome, puede probar su configuración ejecutando un prompt simple en su cliente MCP:

Check the performance of https://developers.chrome.com

Su cliente MCP debería conectarse a la instancia de Chrome en ejecución y recibir un informe de rendimiento.

Si tiene problemas de reenvío de puertos de VM a host, consulte la sección "La depuración remota entre la máquina virtual (VM) y el host falla" en docs/troubleshooting.md.

Para más detalles sobre la depuración remota, consulte la documentación de Chrome DevTools.

Depuración de Chrome en Android

Consulte estas instrucciones.

Limitaciones conocidas

Consulte Solución de problemas.

Integración como subagente de navegador

Si está desarrollando herramientas agénticas y desea proporcionar un subagente de navegador integrado como parte de su producto, recomendamos construir sobre Chrome DevTools para agentes.

Para una implementación de referencia, consulte la documentación del agente de navegador de Gemini CLI.