Chrome DevTools MCP

oficial

Servidor MCP oficial do Chrome DevTools para controlar e inspecionar um navegador Chrome ativo a partir de agentes de codificação como Gemini, Claude, Cursor e Copilot.

O que você pode fazer com Chrome Dev Tools MCP?

  • Gravar e analisar rastros de desempenho — inicie um rastro com performance_start_trace, pare-o com performance_stop_trace e obtenha insights acionáveis via performance_analyze_insight.
  • Inspecionar atividade de rede — liste todas as requisições usando list_network_requests e recupere detalhes de requisições individuais com get_network_request.
  • Depurar erros de console e estado de execução — recupere mensagens do console via list_console_messages e get_console_message, ou execute JavaScript arbitrário com evaluate_script.
  • Automatizar interações do navegador — navegue, clique, preencha formulários e simule entrada usando ferramentas como navigate_page, click, fill e press_key.
  • Capturar estado visual — tire capturas de tela da página com take_screenshot ou instantâneos de acessibilidade com take_snapshot.
  • Diagnosticar problemas de memória — capture snapshots de heap com take_heapsnapshot e inspecione retentores de objetos, dominadores ou compare snapshots.

Documentação

Chrome DevTools para agentes

npm chrome-devtools-mcp package

O Chrome DevTools para agentes (chrome-devtools-mcp) permite que seu agente de codificação (como Antigravity, Claude, Cursor ou Copilot) controle e inspecione um navegador Chrome ativo. Ele atua como um servidor do Model-Context-Protocol (MCP), dando ao seu assistente de codificação de IA acesso a todo o poder do Chrome DevTools para automação confiável, depuração aprofundada e análise de desempenho. Uma CLI também é fornecida para uso sem MCP.

Referência de ferramentas | Registro de alterações | Contribuindo | Solução de problemas | Princípios de design

Principais recursos

  • Obtenha insights de desempenho: Usa o Chrome DevTools para gravar rastreamentos e extrair insights de desempenho acionáveis.
  • Depuração avançada do navegador: Analise solicitações de rede, faça capturas de tela e verifique as mensagens do console do navegador (com stack traces com source maps).
  • Automação confiável. Usa o puppeteer para automatizar ações no Chrome e aguardar automaticamente os resultados das ações.

Avisos legais

chrome-devtools-mcp expõe o conteúdo da instância do navegador aos clientes MCP, permitindo que eles inspecionem, depurem e modifiquem quaisquer dados no navegador ou DevTools. Evite compartilhar informações sensíveis ou pessoais que você não queira compartilhar com clientes MCP.

chrome-devtools-mcp oferece suporte oficial apenas ao Google Chrome e ao Chrome for Testing. Outros navegadores baseados em Chromium podem funcionar, mas isso não é garantido, e você pode encontrar comportamentos inesperados. Use por sua própria conta e risco. Estamos comprometidos em fornecer correções e suporte para a versão mais recente do Chrome Estável Estendido.

As ferramentas de desempenho podem enviar URLs de rastreamento para a API Google CrUX para buscar dados de experiência do usuário real. Isso ajuda a fornecer uma visão holística do desempenho, apresentando dados de campo juntamente com dados de laboratório. Esses dados são coletados pelo https://developer.chrome.com/docs/crux. Para desativar isso, execute com a flag --no-performance-crux.

Estatísticas de uso

O Google coleta estatísticas de uso (como taxas de sucesso de invocação de ferramentas, latência e informações do ambiente) para melhorar a confiabilidade e o desempenho do Chrome DevTools MCP.

A coleta de dados está ativada por padrão. Você pode optar por não participar passando a flag --no-usage-statistics ao iniciar o servidor:

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

O Google trata esses dados de acordo com a Política de Privacidade do Google.

A coleta de estatísticas de uso do Google para o Chrome DevTools MCP é independente das estatísticas de uso do navegador Chrome. Optar por não participar das métricas do Chrome não o exclui automaticamente desta ferramenta, e vice-versa.

A coleta é desativada se as variáveis de ambiente CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS ou CI estiverem definidas.

Verificações de atualização

Por padrão, o servidor verifica periodicamente o registro npm em busca de atualizações e registra uma notificação quando uma versão mais recente está disponível. Você pode desativar essas verificações de atualização definindo a variável de ambiente CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS.

Requisitos

Primeiros passos

Adicione a seguinte configuração ao seu cliente MCP:

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

[!NOTE] Usar chrome-devtools-mcp@latest garante que seu cliente MCP sempre usará a versão mais recente do servidor Chrome DevTools MCP.

Se você estiver interessado em realizar apenas tarefas básicas do navegador, use o modo --slim:

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

Consulte a Referência de ferramentas Slim.

Configuração do cliente MCP

Amp Siga https://ampcode.com/manual#mcp e use a configuração fornecida acima. Você também pode instalar o servidor Chrome DevTools MCP usando a CLI:
amp mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
Antigravity

Para usar o servidor Chrome DevTools MCP, siga as instruções da documentação do Antigravity para instalar um servidor MCP personalizado. Adicione a seguinte configuração ao arquivo de configuração dos servidores MCP:

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

Isso fará com que o servidor Chrome DevTools MCP se conecte automaticamente ao navegador que o Antigravity está usando. Se você não estiver usando a porta 9222, ajuste conforme necessário.

O Chrome DevTools MCP não iniciará a instância do navegador automaticamente usando essa abordagem, porque o servidor Chrome DevTools MCP se conecta ao navegador integrado do Antigravity. Se o navegador ainda não estiver em execução, você deverá iniciá-lo primeiro clicando no ícone do Chrome no canto superior direito.

Claude Code

Instalar via CLI (somente MCP)

Use a CLI do Claude Code para adicionar o servidor Chrome DevTools MCP (guia):

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

Instalar como um Plugin (MCP + Skills)

[!NOTE] Se você já tinha o Chrome DevTools MCP instalado anteriormente para o Claude Code, certifique-se de removê-lo primeiro dos seus arquivos de instalação e configuração.

Para instalar o Chrome DevTools MCP com skills, adicione o registro do marketplace no Claude Code:

/plugin marketplace add ChromeDevTools/chrome-devtools-mcp

Em seguida, instale o plugin:

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

Reinicie o Claude Code para que o servidor MCP e as skills sejam carregados (verifique com /skills).

[!TIP] Se a instalação do plugin falhar com um erro Failed to clone repository (por exemplo, problemas de conectividade HTTPS atrás de um firewall corporativo), consulte o guia de solução de problemas para soluções alternativas ou use o método de instalação via CLI acima.

Cline Siga https://docs.cline.bot/mcp/configuring-mcp-servers e use a configuração fornecida acima.
Codex Siga o guia de configuração do MCP usando a configuração padrão acima. Você também pode instalar o servidor Chrome DevTools MCP usando a CLI do Codex:
codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest

No Windows 11

Configure o local de instalação do Chrome e aumente o tempo limite de inicialização atualizando .codex/config.toml e adicionando os seguintes parâmetros env e 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

Use a CLI do Command Code para adicionar o servidor Chrome DevTools MCP (guia MCP):

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

Inicie o Copilot CLI:

copilot

Inicie o diálogo para adicionar um novo servidor MCP executando:

/mcp add

Configure os seguintes campos e pressione CTRL+S para salvar a configuração:

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

Instalar como um Plugin (Recomendado)

A maneira mais fácil de começar é instalar o chrome-devtools-mcp como um plugin de agente. Isso agrupa o servidor MCP e todas as skills juntos, para que seu agente obtenha tanto as ferramentas quanto a orientação especializada necessária para usá-las de forma eficaz.

  1. Abra a Paleta de Comandos (Cmd+Shift+P no macOS ou Ctrl+Shift+P no Windows/Linux).
  2. Procure e execute o comando Chat: Instalar Plugin da Fonte.
  3. Cole o nome do nosso repositório: ChromeDevTools/chrome-devtools-mcp.

É isso! Seu agente agora está turbinado com os recursos do Chrome DevTools.


Instalar como um Servidor MCP (somente MCP)

Clique no botão para instalar:

Install in VS Code

Install in VS Code Insiders

Ou instale manualmente:

Siga o guia de configuração do MCP do VS Code usando a configuração padrão acima ou use a CLI:

Para macOS e 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

Clique no botão para instalar:

Install in Cursor

Ou instale manualmente:

Vá para Cursor Settings -> MCP -> New MCP Server. Use a configuração fornecida acima.

Factory CLI Use a Factory CLI para adicionar o servidor Chrome DevTools MCP (guia):
droid mcp add chrome-devtools "npx -y chrome-devtools-mcp@latest"
Gemini CLI Instale o servidor Chrome DevTools MCP usando a Gemini CLI.

Para todo o projeto:

# 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

Como alternativa, siga o guia MCP e use a configuração padrão acima.

Gemini Code Assist Siga o guia de configuração do MCP usando a configuração padrão acima.
Grok Build CLI
grok mcp add chrome-devtools npx chrome-devtools-mcp@latest

Consulte a documentação para mais opções

JetBrains AI Assistant & Junie

Vá para Settings | Tools | AI Assistant | Model Context Protocol (MCP) -> Add. Use a configuração fornecida acima. Da mesma forma, o chrome-devtools-mcp pode ser configurado para o JetBrains Junie em Settings | Tools | Junie | MCP Settings -> Add. Use a configuração fornecida acima.

Kiro

Nas Configurações do Kiro, vá para Configure MCP > Open Workspace or User MCP Config > Use o trecho de configuração fornecido acima.

Ou, na Barra de Atividades do IDE > Kiro > MCP Servers > Click Open MCP Config. Use o trecho de configuração fornecido acima.

Katalon Studio

O servidor Chrome DevTools MCP pode ser usado com o Katalon StudioAssist por meio de um proxy MCP.

Passo 1: Instale o proxy MCP seguindo o guia de configuração do proxy MCP.

Passo 2: Inicie o servidor Chrome DevTools MCP com o proxy:

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

Nota: Pode ser necessário escolher outra porta se a 8080 já estiver em uso.

Passo 3: No Katalon Studio, adicione o servidor ao StudioAssist com as seguintes configurações:

  • URL de Conexão: http://127.0.0.1:8080/mcp
  • Tipo de Transporte: HTTP

Uma vez conectado, as ferramentas do Chrome DevTools MCP estarão disponíveis no StudioAssist.

Mistral Vibe

Adicione em ~/.vibe/config.toml:

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

Adicione a seguinte configuração ao seu arquivo opencode.json. Se você não tiver um, crie-o em ~/.config/opencode/opencode.json (guia):

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

Nas Configurações do Qoder, vá para MCP Server > + Add > Use o trecho de configuração fornecido acima.

Como alternativa, siga o guia MCP e use a configuração padrão acima.

Qoder CLI

Instale o servidor Chrome DevTools MCP usando a Qoder CLI (guia):

Para todo o projeto:

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

Clique no botão para instalar:

Install in Visual Studio

Warp

Vá para Settings | AI | Manage MCP Servers -> + Add para adicionar um Servidor MCP. Use a configuração fornecida acima.

Windsurf Siga o guia de configuração do MCP usando a configuração padrão acima.
### Seu primeiro prompt

Insira o seguinte prompt no seu Cliente MCP para verificar se tudo está funcionando:

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

Seu cliente MCP deve abrir o navegador e gravar um rastreamento de performance.

[!NOTE] O servidor MCP iniciará o navegador automaticamente assim que o cliente MCP usar uma ferramenta que exija uma instância do navegador em execução. Apenas conectar-se ao servidor Chrome DevTools MCP não iniciará o navegador automaticamente.

Ferramentas

Se você encontrar algum problema, consulte nosso guia de solução de problemas.

Configuração

O servidor Chrome DevTools MCP suporta a seguinte opção de configuração:

  • --autoConnect/ --auto-connect Se especificado, conecta-se automaticamente a um navegador (Chrome 144+) em execução localmente a partir do diretório de dados do usuário identificado pelo parâmetro de canal (canal padrão é stable). Requer que o servidor de depuração remota seja iniciado na instância do Chrome via chrome://inspect/#remote-debugging.

    • Tipo: boolean
    • Padrão: false
  • --browserUrl/ --browser-url, -u Conecta-se a uma instância do Chrome em execução e depurável (ex.: http://127.0.0.1:9222). Para mais detalhes, veja: https://github.com/ChromeDevTools/chrome-devtools-mcp#connecting-to-a-running-chrome-instance.

    • Tipo: string
    • Padrão: false
  • --wsEndpoint/ --ws-endpoint, -w Endpoint WebSocket para conectar-se a uma instância do Chrome em execução (ex.: ws://127.0.0.1:9222/devtools/browser/). Alternativa a --browserUrl.

    • Tipo: string
    • Padrão: false
  • --wsHeaders/ --ws-headers Cabeçalhos personalizados para conexão WebSocket em formato JSON (ex.: '{"Authorization":"Bearer token"}'). Funciona apenas com --wsEndpoint.

    • Tipo: string
    • Padrão: false
  • --headless Se deve ser executado em modo headless (sem interface gráfica).

    • Tipo: boolean
    • Padrão: false
  • --executablePath/ --executable-path, -e Caminho para o executável personalizado do Chrome.

    • Tipo: string
    • Padrão: false
  • --isolated Se especificado, cria um diretório de dados do usuário temporário que é automaticamente limpo após o fechamento do navegador. O padrão é false.

    • Tipo: boolean
    • Padrão: false
  • --userDataDir/ --user-data-dir Caminho para o diretório de dados do usuário do Chrome. O padrão é $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE

    • Tipo: string
    • Padrão: false
  • --channel Especifica um canal diferente do Chrome que deve ser usado. O padrão é a versão do canal stable.

    • Tipo: string
    • Opções: canary, dev, beta, stable
    • Padrão: false
  • --logFile/ --log-file Caminho para um arquivo para gravar logs de depuração. Defina a variável de ambiente DEBUG como * para habilitar logs detalhados. Útil para enviar relatórios de bugs.

    • Tipo: string
    • Padrão: false
  • --viewport Tamanho inicial da janela de visualização para as instâncias do Chrome iniciadas pelo servidor. Por exemplo, 1280x720. No modo headless, o tamanho máximo é 3840x2160px.

    • Tipo: string
    • Padrão: false
  • --proxyServer/ --proxy-server Configuração do servidor proxy para o Chrome passada como --proxy-server ao iniciar o navegador. Veja https://www.chromium.org/developers/design-documents/network-settings/ para detalhes.

    • Tipo: string
    • Padrão: false
  • --acceptInsecureCerts/ --accept-insecure-certs Se habilitado, ignora erros relativos a certificados autoassinados e expirados. Use com cautela.

    • Tipo: boolean
    • Padrão: false
  • --experimentalPageIdRouting/ --experimental-page-id-routing Se deve expor pageId em ferramentas com escopo de página e rotear solicitações por ID de página (útil para sessões de agente concorrentes).

    • Tipo: boolean
    • Padrão: false
  • --experimentalDevtools/ --experimental-devtools Se deve habilitar automação sobre alvos do DevTools

    • Tipo: boolean
    • Padrão: false
  • --experimentalVision/ --experimental-vision Se deve habilitar ferramentas baseadas em coordenadas, como click_at(x,y). Geralmente requer um modelo de uso de computador capaz de produzir coordenadas precisas ao analisar capturas de tela.

    • Tipo: boolean
    • Padrão: false
  • --memoryDebugging/ --memory-debugging, -experimentalMemory Se deve habilitar ferramentas de depuração de memória.

    • Tipo: boolean
    • Padrão: false
  • --experimentalStructuredContent/ --experimental-structured-content Se deve produzir conteúdo formatado estruturado.

    • Tipo: boolean
    • Padrão: false
  • --experimentalIncludeAllPages/ --experimental-include-all-pages Se deve incluir todos os tipos de páginas, como webviews ou páginas em segundo plano, como páginas.

    • Tipo: boolean
    • Padrão: false
  • --experimentalScreencast/ --experimental-screencast Expõe ferramentas experimentais de screencast (requer ffmpeg). Instale o ffmpeg https://www.ffmpeg.org/download.html e garanta que esteja disponível no PATH do servidor MCP.

    • Tipo: boolean
    • Padrão: false
  • --experimentalFfmpegPath/ --experimental-ffmpeg-path Caminho para o executável ffmpeg para gravação de screencast.

    • Tipo: string
    • Padrão: false
  • --categoryExperimentalWebmcp/ --category-experimental-webmcp Defina como true para habilitar ferramentas de depuração WebMCP. Requer Chrome 149+ com as seguintes flags: --enable-features=WebMCP,DevToolsWebMCPSupport

    • Tipo: boolean
    • Padrão: false
  • --chromeArg/ --chrome-arg Argumentos adicionais para o Chrome. Aplica-se apenas quando o Chrome é iniciado pelo chrome-devtools-mcp.

    • Tipo: array
    • Padrão: false
  • --blockedUrlPattern/ --blocked-url-pattern Restringe o acesso de rede do navegador bloqueando padrões de URL especificados (usa https://urlpattern.spec.whatwg.org/). Desanexa silenciosamente de alvos com URLs bloqueados na conexão e bloqueia solicitações em tempo de execução (incluindo navegações e sub-recursos). Aceita um array de padrões.

    • Tipo: array
    • Padrão: false
  • --allowedUrlPattern/ --allowed-url-pattern Restringe o acesso de rede do navegador permitindo apenas padrões de URL especificados (usa https://urlpattern.spec.whatwg.org/). Requer Chrome 149+. Desanexa silenciosamente de alvos com URLs não permitidos na conexão e bloqueia solicitações em tempo de execução (incluindo navegações e sub-recursos). Aceita um array de padrões.

    • Tipo: array
    • Padrão: false
  • --ignoreDefaultChromeArg/ --ignore-default-chrome-arg Desabilita explicitamente argumentos padrão para o Chrome. Aplica-se apenas quando o Chrome é iniciado pelo chrome-devtools-mcp.

    • Tipo: array
    • Padrão: false
  • --categoryEmulation/ --category-emulation Defina como false para excluir ferramentas relacionadas à emulação.

    • Tipo: boolean
    • Padrão: true
  • --categoryPerformance/ --category-performance Defina como false para excluir ferramentas relacionadas à performance.

    • Tipo: boolean
    • Padrão: true
  • --categoryNetwork/ --category-network Defina como false para excluir ferramentas relacionadas à rede.

    • Tipo: boolean
    • Padrão: true
  • --categoryExtensions/ --category-extensions Defina como true para incluir ferramentas relacionadas a extensões. Nota: Este recurso atualmente só é suportado com uma conexão pipe. autoConnect, browserUrl e wsEndpoint não são suportados com este recurso até que a versão 149 seja lançada.

    • Tipo: boolean
    • Padrão: false
  • --categoryExperimentalThirdParty/ --category-experimental-third-party Defina como true para habilitar ferramentas de desenvolvedor de terceiros expostas pela própria página inspecionada

    • Tipo: boolean
    • Padrão: false
  • --performanceCrux/ --performance-crux Defina como false para desabilitar o envio de URLs de rastreamentos de performance para a API CrUX para obter dados de performance de campo.

    • Tipo: boolean
    • Padrão: true
  • --usageStatistics/ --usage-statistics Defina como false para optar por não participar da coleta de estatísticas de uso. O Google coleta dados de uso para melhorar a ferramenta, tratados sob a Política de Privacidade do Google (https://policies.google.com/privacy). Isso é independente das métricas do navegador Chrome. Desabilitado se as variáveis de ambiente CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS ou CI estiverem definidas.

    • Tipo: boolean
    • Padrão: true
  • --screenshotFormat/ --screenshot-format Substitui o formato de saída padrão usado por take_screenshot quando o chamador não especifica um. JPEG e WebP são ~3-5x menores que PNG, o que ajuda a reduzir o tamanho do contexto em conversas de IA. Não definido preserva o padrão existente ("png").

    • Tipo: string
    • Opções: jpeg, png, webp
    • Padrão: false
  • --screenshotQuality/ --screenshot-quality Substitui a qualidade de compressão padrão (0-100) usada por take_screenshot para JPEG e WebP quando o chamador não especifica uma. Valores mais baixos significam arquivos menores. Ignorado para PNG. Não definido preserva o padrão do Puppeteer.

    • Tipo: number
    • Padrão: false
  • --screenshotMaxWidth/ --screenshot-max-width Largura máxima em pixels para capturas de tela. Se a imagem capturada for mais larga, ela é reduzida (preservando a proporção) antes de ser retornada. Reduz o tamanho do contexto em conversas de IA. Não definido significa sem redimensionamento.

    • Tipo: number
    • Padrão: false
  • --screenshotMaxHeight/ --screenshot-max-height Altura máxima em pixels para capturas de tela. Se a imagem capturada for mais alta, ela é reduzida (preservando a proporção) antes de ser retornada. Pode ser combinado com --screenshot-max-width; o menor fator de escala prevalece. Não definido significa sem redimensionamento.

    • Tipo: number
    • Padrão: false
  • --slim Expõe um conjunto "enxuto" de 3 ferramentas cobrindo apenas navegação, execução de scripts e capturas de tela. Útil para tarefas básicas de navegador.

    • Tipo: boolean
    • Padrão: false
  • --redactNetworkHeaders/ --redact-network-headers Se verdadeiro, oculta alguns dos cabeçalhos de rede considerados sensíveis antes de retornar ao cliente.

    • Tipo: boolean
    • Padrão: false
  • --allowUnrestrictedPaths/ --allow-unrestricted-paths Se definido, desabilita a restrição de caminho padrão que se aplica quando o cliente MCP não negocia a capacidade de raízes (roots). Por padrão, as ferramentas de escrita de arquivos são restritas ao diretório temporário do SO quando nenhuma raiz está configurada. Use isso apenas ao conectar um cliente local confiável que não implementa raízes MCP e requer acesso a caminhos fora do diretório temporário.

    • Tipo: boolean
    • Padrão: false

Passe-os através da propriedade args na configuração JSON. Por exemplo:

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

Conectando via WebSocket com cabeçalhos personalizados

Você pode conectar-se diretamente a um endpoint WebSocket do Chrome e incluir cabeçalhos personalizados (por exemplo, para autenticação):

{
  "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 obter o endpoint WebSocket de uma instância do Chrome em execução, visite http://127.0.0.1:9222/json/version e procure pelo campo webSocketDebuggerUrl.

Você também pode executar npx chrome-devtools-mcp@latest --help para ver todas as opções de configuração disponíveis.

Conceitos

Sessões concorrentes

A maioria dos clientes MCP inicia um servidor Chrome DevTools MCP por conversa. Se o seu cliente compartilha uma única instância de servidor entre agentes ou subagentes concorrentes, inicie o servidor com --experimentalPageIdRouting. Isso expõe pageId nas ferramentas com escopo de página para que cada agente possa rotear chamadas de ferramentas para a aba com a qual está trabalhando.

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

Se você executar várias sessões de cliente MCP independentes e quiser que cada sessão inicie seu próprio perfil temporário do Chrome, também passe --isolated. Isso evita compartilhar o diretório de dados de usuário padrão do Chrome DevTools MCP entre essas instâncias de servidor.

Diretório de dados do usuário

chrome-devtools-mcp inicia uma instância do canal estável do Chrome usando o seguinte diretório de dados do usuário:

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

O diretório de dados do usuário não é limpo entre execuções e é compartilhado entre todas as instâncias de chrome-devtools-mcp. Defina a opção isolated para true para usar um diretório de dados de usuário temporário, que será limpo automaticamente após o navegador ser fechado.

Conectando-se a uma instância do Chrome em execução

Por padrão, o servidor Chrome DevTools MCP iniciará uma nova instância do Chrome com um perfil dedicado. Isso pode não ser ideal em todas as situações:

  • Se você deseja manter o mesmo estado da aplicação ao alternar entre testes manuais do site e testes conduzidos por agente.
  • Quando o MCP precisa fazer login em um site. Algumas contas podem impedir o login quando o navegador é controlado via WebDriver (o mecanismo de inicialização padrão para o servidor Chrome DevTools MCP).
  • Se você está executando seu LLM dentro de um ambiente isolado (sandbox), mas gostaria de se conectar a uma instância do Chrome que é executada fora do sandbox.

Nesses casos, inicie o Chrome primeiro e deixe o servidor Chrome DevTools MCP conectar-se a ele. Existem duas maneiras de fazer isso:

  • Conexão automática (disponível no Chrome 144): melhor para compartilhar estado entre testes manuais e conduzidos por agente.
  • Conexão manual via porta de depuração remota: melhor ao executar dentro de um ambiente isolado (sandbox).

Conectando-se automaticamente a uma instância do Chrome em execução

Passo 1: Configure a depuração remota no Chrome

No Chrome (>= M144), faça o seguinte para configurar a depuração remota:

  1. Navegue até chrome://inspect/#remote-debugging para habilitar a depuração remota.
  2. Siga a interface de diálogo para permitir ou bloquear conexões de depuração recebidas.

Passo 2: Configure o servidor Chrome DevTools MCP para conectar-se automaticamente a uma instância do Chrome em execução

Para conectar o servidor chrome-devtools-mcp à instância do Chrome em execução, use o argumento de linha de comando --autoConnect para o servidor MCP.

O trecho de código a seguir é um exemplo de configuração para o gemini-cli:

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

Passo 3: Teste sua configuração

Certifique-se de que seu navegador esteja em execução. Abra o gemini-cli e execute o seguinte prompt:

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

[!NOTE] A opção autoConnect requer que o usuário inicie o Chrome. Se o usuário tiver vários perfis ativos, o servidor MCP se conectará ao perfil padrão (conforme determinado pelo Chrome). O servidor MCP tem acesso a todas as janelas abertas para o perfil selecionado.

O servidor Chrome DevTools MCP tentará se conectar à sua instância do Chrome em execução. Ele mostra um diálogo solicitando permissão do usuário.

Clicar em Permitir resulta no servidor Chrome DevTools MCP abrindo developers.chrome.com e realizando um rastreamento de desempenho.

Conexão manual usando encaminhamento de porta

Você pode se conectar a uma instância do Chrome em execução usando a opção --browser-url. Isso é útil se você estiver executando o servidor MCP em um ambiente isolado (sandbox) que não permite iniciar uma nova instância do Chrome.

Aqui está um guia passo a passo sobre como se conectar a uma instância do Chrome em execução:

Passo 1: Configure o cliente MCP

Adicione a opção --browser-url à configuração do seu cliente MCP. O valor desta opção deve ser a URL da instância do Chrome em execução. http://127.0.0.1:9222 é um padrão comum.

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

Passo 2: Inicie o navegador Chrome

[!WARNING] Habilitar a porta de depuração remota abre uma porta de depuração na instância do navegador em execução. Qualquer aplicação na sua máquina pode se conectar a esta porta e controlar o navegador. Certifique-se de não estar navegando em sites sensíveis enquanto a porta de depuração estiver aberta.

Inicie o navegador Chrome com a porta de depuração remota habilitada. Certifique-se de fechar quaisquer instâncias do Chrome em execução antes de iniciar uma nova com a porta de depuração habilitada. O número da porta que você escolher deve ser o mesmo especificado na opção --browser-url na configuração do seu cliente MCP.

Por razões de segurança, o Chrome exige que você use um diretório de dados de usuário não padrão ao habilitar a porta de depuração remota. Você pode especificar um diretório personalizado usando a flag --user-data-dir. Isso garante que seu perfil de navegação e dados regulares não sejam expostos à sessão de depuração.

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"

Passo 3: Teste sua configuração

Após configurar o cliente MCP e iniciar o navegador Chrome, você pode testar sua configuração executando um prompt simples em seu cliente MCP:

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

Seu cliente MCP deve se conectar à instância do Chrome em execução e receber um relatório de desempenho.

Se você encontrar problemas de encaminhamento de porta entre VM e host, consulte a seção “Falha na depuração remota entre máquina virtual (VM) e host” em docs/troubleshooting.md.

Para mais detalhes sobre depuração remota, consulte a documentação do Chrome DevTools.

Depurando o Chrome no Android

Consulte estas instruções.

Limitações conhecidas

Consulte Solução de problemas.

Integrando como um subagente de navegador

Se você está desenvolvendo ferramentas agênticas e deseja fornecer um subagente de navegador integrado como parte do seu produto, recomendamos construir sobre o Chrome DevTools para agentes.

Para uma implementação de referência, consulte a documentação do agente de navegador do Gemini CLI.