Configuración

Puedes configurar las Herramientas para desarrolladores de Chrome para que los agentes personalicen la forma en que interactúan con el navegador, qué herramientas están habilitadas y cómo se controlan los datos.

Configura el servidor pasando marcas de línea de comandos en el array args de tu archivo de configuración del cliente del Protocolo de contexto del modelo (MCP). Por lo general, este es el archivo config.json.

Por ejemplo, para ejecutar Chrome en modo sin interfaz gráfica y usar el canal Canary, usa la siguiente configuración:

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

Situaciones de configuración comunes

En las siguientes situaciones, se describen formas comunes de configurar las Herramientas para desarrolladores de Chrome para agentes.

Ejecutar en modo sin interfaz gráfica

Para realizar tareas en segundo plano sin una ventana del navegador visible, ejecuta Chrome en modo sin interfaz gráfica (sin IU). Agrega la marca --headless a los argumentos del servidor.

Conéctate a una sesión de navegador existente

De forma predeterminada, las Herramientas para desarrolladores para agentes inician una nueva instancia de Chrome. Sin embargo, puedes conectar tu agente a una sesión del navegador existente. Esto es útil si el agente necesita investigar un problema en una sesión que ya iniciaste (por ejemplo, si ya accediste).

Puedes conectarte a una sesión existente de dos maneras:

Conexión automática (Chrome 144 y versiones posteriores)

Si usas la marca --autoConnect, el servidor de MCP se conecta automáticamente a una instancia de Chrome activa.

  1. En el navegador Chrome en ejecución, navega a chrome://inspect/#remote-debugging y habilita Remote Debugging.
  2. Agrega --autoConnect a tu configuración de MCP: json "args": ["chrome-devtools-mcp@latest", "--autoConnect"]
  3. Cuando el agente intenta conectarse, Chrome muestra un diálogo en el que se solicita permiso. Haz clic en Permitir.

Conexión manual

Si no puedes usar --autoConnect (por ejemplo, en un entorno de zona de pruebas), puedes iniciar Chrome de forma manual con un puerto de depuración y conectarte con --browser-url.

  1. Inicia Chrome desde la terminal con la depuración remota habilitada y un directorio de datos del usuario personalizado.
    • macOS: shell /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
    • Windows: shell start chrome --remote-debugging-port=9222 --user-data-dir=%TEMP%\chrome-profile-stable
    • Linux: shell google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
  2. Configura tu agente para que se conecte a este puerto: json "args": ["chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"]

Permite el acceso a archivos fuera del directorio temporal

Las herramientas que leen o escriben archivos (por ejemplo, guardar capturas de pantalla, registros o cargar extensiones) solo pueden acceder a rutas dentro de las raíces del espacio de trabajo configurado. El servidor usa las raíces que tu cliente de MCP proporciona a través de la capacidad de raíces de MCP, además de los directorios que pasas con --filesystemRoot (alias --workspace). Si tu cliente no proporciona raíces y no configuras --filesystemRoot, el acceso a los archivos se limita al directorio temporal del SO. Las solicitudes de otras rutas de acceso fallan con un error Access denied: ... is not within any of the configured workspace roots.

Para permitir el acceso a un directorio del proyecto, agrega --filesystemRoot a los argumentos del servidor. Puedes repetir la marca para permitir varios directorios:

"args": ["chrome-devtools-mcp@latest", "--filesystemRoot=/path/to/project"]

Referencia de las opciones de configuración

En las siguientes secciones, se enumeran las marcas de configuración disponibles. Para conocer las opciones y actualizaciones más recientes, consulta el repositorio de GitHub del MCP de las Herramientas para desarrolladores de Chrome.

Opciones de conexión

Usa estas opciones para configurar cómo se conecta el servidor a Chrome.

Marcar Tipo Predeterminado Descripción
--autoConnect o --auto-connect booleano false Se conecta automáticamente a una instancia de Chrome (144 o versiones posteriores) que se ejecuta de forma local. Requiere que se habilite la depuración remota con chrome://inspect/#remote-debugging.
--browserUrl o --browser-url
-u
string false Conéctate a una instancia de Chrome en ejecución y depurable (por ejemplo, http://127.0.0.1:9222).
--wsEndpoint o --ws-endpoint
-w
string false Es el extremo de WebSocket para conectarse a una instancia de Chrome en ejecución (por ejemplo, ws://127.0.0.1:9222/devtools/browser/<id>). Es una alternativa a --browserUrl.
--wsHeaders o --ws-headers string false Encabezados personalizados para la conexión de WebSocket en formato JSON (por ejemplo, '{"Authorization":"Bearer token"}'). Solo funciona con --wsEndpoint.

Opciones de inicio del navegador

Estas opciones se aplican cuando el servidor de MCP inicia Chrome.

Marcar Tipo Predeterminado Descripción
--headless booleano false Ejecuta Chrome en modo sin interfaz gráfica (sin IU).
--channel string stable Especifica el canal de Chrome que se usará. Opciones: canary, dev, beta y stable.
--executablePath o --executable-path
-e
string false Es la ruta de acceso a un ejecutable de Chrome personalizado.
--userDataDir o --user-data-dir string Consulta la descripción Ruta de acceso al directorio de datos del usuario. El valor predeterminado es $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE.
--isolated booleano false Crea un directorio temporal de datos del usuario que se borra automáticamente cuando se cierra el navegador.
--viewport string false Es el tamaño inicial del viewport (por ejemplo, 1280x720). En el modo sin interfaz gráfica, el tamaño máximo es 3840x2160.
--proxyServer o --proxy-server string false Es la configuración del servidor proxy que se pasa a Chrome.
--chromeArg o --chrome-arg array false Son los argumentos adicionales que se pasarán a Chrome.
--ignoreDefaultChromeArg o --ignore-default-chrome-arg array false Inhabilita explícitamente los argumentos predeterminados para Chrome.

Opciones de seguridad y privacidad

Usa estas opciones para administrar la configuración de seguridad y la privacidad de los datos.

Marcar Tipo Predeterminado Descripción
--acceptInsecureCerts o --accept-insecure-certs booleano false Ignora los errores relacionados con los certificados autofirmados y vencidos. Úsala con precaución.
--blockedUrlPattern o --blocked-url-pattern array false Restringe el acceso a la red bloqueando los patrones de URL especificados (usa URLPattern). Bloquea las navegaciones y los subrecursos.
--allowedUrlPattern o --allowed-url-pattern array false Restringe el acceso a la red permitiendo solo patrones de URL especificados. Se requiere Chrome 149 o una versión posterior.
--redactNetworkHeaders o --redact-network-headers booleano false Oculta los encabezados de red sensibles antes de devolverlos al cliente.
--usageStatistics o --usage-statistics booleano true Habilita la recopilación de estadísticas de uso para mejorar la herramienta. También se puede inhabilitar con las variables de entorno CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS o CI.
--performanceCrux o --performance-crux booleano true Envía URLs de los registros de rendimiento a la API de Google CrUX para recuperar datos de la experiencia del usuario real.
--javascriptEvaluation o --javascript-evaluation booleano true Configúralo en false para inhabilitar la ejecución de JavaScript. Cuando se inhabilita, se desactivan las herramientas de evaluación de secuencias de comandos, se desactiva el parámetro initScript de navigate_page y no se permite navegar a las URLs de javascript:, data: o vbscript:.
--filesystemRoot o --filesystem-root
--workspace
array Directorio temporal del SO Es un directorio que las herramientas de acceso a archivos pueden usar, además de las raíces proporcionadas por el cliente de MCP. Se puede especificar más de una vez. Consulta Cómo permitir el acceso a archivos fuera del directorio temporal.
--allowUnrestrictedPaths o --allow-unrestricted-paths booleano false Obsoleto: Usa --workspace=/ en su lugar. Inhabilita la restricción de ruta de acceso que se aplica cuando el cliente de MCP no proporciona raíces.

Categorías de funciones

Puedes habilitar o inhabilitar grupos de herramientas con estas marcas.

Marcar Tipo Predeterminado Descripción
--categoryInput o --category-input booleano true Habilita las herramientas relacionadas con la entrada.
--categoryNavigation o --category-navigation booleano true Habilita las herramientas relacionadas con la navegación.
--categoryEmulation o --category-emulation booleano true Habilita herramientas relacionadas con la emulación.
--categoryNetwork o --category-network booleano true Habilita herramientas relacionadas con la red.
--categoryPerformance o --category-performance booleano true Habilita herramientas relacionadas con el rendimiento.
--categoryDebugging o --category-debugging booleano true Habilita las herramientas relacionadas con la depuración.
--categoryMemory o --category-memory booleano true Habilita las herramientas relacionadas con la memoria.
--categoryExtensions o --category-extensions booleano false Habilita las herramientas relacionadas con las extensiones. Solo se admite con conexión de tubería.
--categoryPwa o --category-pwa booleano false Habilita herramientas para automatizar las apps web progresivas (instalación, inicio, desinstalación y estado del SO). Solo se admite con conexión de canalización.
--categoryExperimentalThirdParty o --category-experimental-third-party booleano false Habilita las herramientas para desarrolladores externos que expone la página inspeccionada.
--categoryExperimentalWebmcp o --category-experimental-webmcp booleano false Habilita la depuración de las herramientas de WebMCP. Se requiere Chrome 149 o una versión posterior con las funciones de WebMCP habilitadas.
--memoryDebugging o --memory-debugging booleano false Habilita las herramientas de depuración de memoria.

Opciones de captura de pantalla

Usa estas opciones para personalizar la forma en que el agente captura las pantallas.

Marcar Tipo Predeterminado Descripción
--screenshotFormat o --screenshot-format string false Anula el formato de salida predeterminado (png). Las opciones son jpeg, png y webp. Los formatos jpeg y webp son más pequeños, lo que ayuda a reducir el tamaño del contexto en las conversaciones de IA.
--screenshotQuality o --screenshot-quality número false Anula la calidad de compresión (de 0 a 100) para jpeg y webp.
--screenshotMaxWidth o --screenshot-max-width número false Es el ancho máximo en píxeles. Las capturas de pantalla más grandes se reducen.
--screenshotMaxHeight o --screenshot-max-height número false Es la altura máxima en píxeles. Las capturas de pantalla más grandes se reducen.

Opciones experimentales

Usa estas opciones para habilitar las funciones experimentales que están en desarrollo.

Marcar Tipo Predeterminado Descripción
--experimentalDevtools o --experimental-devtools booleano false Habilita la automatización en los destinos de Herramientas para desarrolladores.
--experimentalVision o --experimental-vision booleano false Habilita herramientas basadas en coordenadas (por ejemplo, click_at). Por lo general, requiere un modelo de uso de la computadora que pueda producir coordenadas precisas a partir de capturas de pantalla.
--experimentalStructuredContent o --experimental-structured-content booleano false Genera contenido con formato estructurado.
--experimentalIncludeAllPages o --experimental-include-all-pages booleano false Incluye todo tipo de páginas (por ejemplo, vistas web y páginas en segundo plano).
--experimentalScreencast o --experimental-screencast booleano false Expone las herramientas de screencast (requiere ffmpeg en PATH).
--experimentalFfmpegPath o --experimental-ffmpeg-path string false Es la ruta de acceso al ejecutable ffmpeg.
--experimentalScreencastFps o --experimental-screencast-fps número false Son los fotogramas por segundo de la grabación de la presentación en pantalla. Los valores más bajos pueden reducir la presión de la memoria en las páginas que producen fotogramas más rápido de lo que ffmpeg puede codificarlos.

Otras opciones

Usa estas opciones para configurar el registro, el enrutamiento de páginas y los mapas de origen, o bien para habilitar un conjunto de herramientas simplificado.

Marcar Tipo Predeterminado Descripción
--slim booleano false Expone un conjunto reducido de tres herramientas (navegación, ejecución de secuencias de comandos y capturas de pantalla). Es útil para tareas básicas del navegador.
--pageIdRouting o --page-id-routing booleano true Requiere pageId en herramientas con alcance en la página y enruta las solicitudes por ID de página, lo que resulta útil para las sesiones simultáneas del agente. Usa --no-page-id-routing para inhabilitarla.
--sourceMaps o --source-maps booleano true Habilita los mapas de fuentes en las Herramientas para desarrolladores. Usa --no-source-maps para inhabilitarlo.
--logFile o --log-file string false Es la ruta de acceso a un archivo en el que se escribirán los registros de depuración. Establece la variable de entorno NODE_DEBUG en * para habilitar los registros detallados.
--config string false Es la ruta de acceso a un archivo de configuración JSON.

Variables de entorno

También puedes usar las siguientes variables de entorno para configurar el servidor:

  • CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS: Si se establece, inhabilita la recopilación de estadísticas de uso (equivalente a --no-usage-statistics).
  • CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: Si se establece, inhabilita las verificaciones periódicas de actualizaciones.
  • CI: Si se configura, inhabilita la recopilación de estadísticas de uso.
  • NODE_DEBUG: Se establece en * para habilitar el registro de depuración detallado (funciona junto con --logFile).