Chrome DevTools MCP
oficialServidor 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 conperformance_stop_tracey luego obtén información procesable medianteperformance_analyze_insight. - Inspeccionar actividad de red — lista todas las solicitudes usando
list_network_requestsy recupera detalles de solicitudes individuales conget_network_request. - Depurar errores de consola y estado en tiempo de ejecución — recupera mensajes de consola mediante
list_console_messagesyget_console_message, o ejecuta JavaScript arbitrario conevaluate_script. - Automatizar interacciones del navegador — navega, haz clic, completa formularios y simula entrada usando herramientas como
navigate_page,click,fillypress_key. - Capturar estado visual — toma capturas de pantalla de la página con
take_screenshoto instantáneas de accesibilidad contake_snapshot. - Diagnosticar problemas de memoria — captura instantáneas del montón con
take_heapsnapshote inspecciona retenedores de objetos, dominadores o compara instantáneas.
Documentación
Chrome DevTools para agentes
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@latestasegura 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.
- Abre la Paleta de Comandos (
Cmd+Shift+Pen macOS oCtrl+Shift+Pen Windows/Linux). - Busca y ejecuta el comando Chat: Install Plugin From Source.
- 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:
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:
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
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.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.
- Automatización de entrada (10 herramientas)
- Automatización de navegación (6 herramientas)
- Emulación (2 herramientas)
- Rendimiento (3 herramientas)
- Red (2 herramientas)
- Depuración (8 herramientas)
- Memoria (12 herramientas)
take_heapsnapshotclose_heapsnapshotcompare_heapsnapshotsget_heapsnapshot_class_nodesget_heapsnapshot_detailsget_heapsnapshot_dominatorsget_heapsnapshot_duplicate_stringsget_heapsnapshot_edgesget_heapsnapshot_object_detailsget_heapsnapshot_retainersget_heapsnapshot_retaining_pathsget_heapsnapshot_summary
- Extensiones (5 herramientas)
- Terceros (2 herramientas)
- WebMCP (2 herramientas)
Configuración
El servidor Chrome DevTools MCP admite las siguientes opciones de configuración:
-
--autoConnect/--auto-connectSi 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,-uConectarse 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,-wEndpoint 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-headersCabeceras personalizadas para la conexión WebSocket en formato JSON (p. ej., '{"Authorization":"Bearer token"}'). Solo funciona con --wsEndpoint.- Tipo: string
- Predeterminado:
false
-
--headlessSi se ejecuta en modo headless (sin interfaz de usuario).- Tipo: boolean
- Predeterminado:
false
-
--executablePath/--executable-path,-eRuta al ejecutable de Chrome personalizado.- Tipo: string
- Predeterminado:
false
-
--isolatedSi 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-dirRuta 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
-
--channelEspecifica 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-fileRuta a un archivo para escribir registros de depuración. Establece la variable de entornoDEBUGa*para habilitar registros detallados. Útil para enviar informes de errores.- Tipo: string
- Predeterminado:
false
-
--viewportTamañ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-serverConfiguració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-certsSi está habilitado, ignora los errores relativos a certificados autofirmados y caducados. Úsalo con precaución.- Tipo: boolean
- Predeterminado:
false
-
--experimentalPageIdRouting/--experimental-page-id-routingSi 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-devtoolsSi se habilita la automatización sobre los objetivos de DevTools- Tipo: boolean
- Predeterminado:
false
-
--experimentalVision/--experimental-visionSi 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,-experimentalMemorySi se habilitan las herramientas de depuración de memoria.- Tipo: boolean
- Predeterminado:
false
-
--experimentalStructuredContent/--experimental-structured-contentSi se debe generar contenido con formato estructurado.- Tipo: boolean
- Predeterminado:
false
-
--experimentalIncludeAllPages/--experimental-include-all-pagesSi 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-screencastExpone 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-pathRuta al ejecutable de ffmpeg para la grabación de screencast.- Tipo: string
- Predeterminado:
false
-
--categoryExperimentalWebmcp/--category-experimental-webmcpEstablé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-argArgumentos adicionales para Chrome. Solo se aplica cuando Chrome es iniciado por chrome-devtools-mcp.- Tipo: array
- Predeterminado:
false
-
--blockedUrlPattern/--blocked-url-patternRestringe 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-patternRestringe 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-argDeshabilita explícitamente los argumentos predeterminados para Chrome. Solo se aplica cuando Chrome es iniciado por chrome-devtools-mcp.- Tipo: array
- Predeterminado:
false
-
--categoryEmulation/--category-emulationEstablécelo en false para excluir las herramientas relacionadas con la emulación.- Tipo: boolean
- Predeterminado:
true
-
--categoryPerformance/--category-performanceEstablécelo en false para excluir las herramientas relacionadas con el rendimiento.- Tipo: boolean
- Predeterminado:
true
-
--categoryNetwork/--category-networkEstablécelo en false para excluir las herramientas relacionadas con la red.- Tipo: boolean
- Predeterminado:
true
-
--categoryExtensions/--category-extensionsEstablé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-partyEstablécelo en true para habilitar las herramientas de desarrollo de terceros expuestas por la propia página inspeccionada- Tipo: boolean
- Predeterminado:
false
-
--performanceCrux/--performance-cruxEstablé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-statisticsEstablé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 entornoCHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICSoCIestán configuradas.- Tipo: boolean
- Predeterminado:
true
-
--screenshotFormat/--screenshot-formatAnula 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-qualityAnula 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-widthAncho 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-heightAltura 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
-
--slimExpone 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-headersSi es true, oculta algunas de las cabeceras de red consideradas sensibles antes de devolverlas al cliente.- Tipo: boolean
- Por defecto:
false
-
--allowUnrestrictedPaths/--allow-unrestricted-pathsSi 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:
- Navegue a
chrome://inspect/#remote-debuggingpara habilitar la depuración remota. - 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
autoConnectrequiere 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.