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.
- En el navegador Chrome en ejecución, navega a
chrome://inspect/#remote-debuggingy habilita Remote Debugging. - Agrega
--autoConnecta tu configuración de MCP:json "args": ["chrome-devtools-mcp@latest", "--autoConnect"] - 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.
- 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
- macOS:
- 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).