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?

  • Auditoria de desempenho — Grave um trace com performance_start_trace / performance_stop_trace e extraia insights acionáveis via performance_analyze_insight.
  • Inspeção de rede — Liste requisições capturadas com list_network_requests e recupere detalhes de requisições individuais usando get_network_request.
  • Depuração do navegador — Capture o estado atual da página com take_screenshot ou take_snapshot, e inspecione a saída do console via list_console_messages.
  • Automação confiável — Navegue, clique, preencha formulários e pressione teclas usando ferramentas como navigate_page, click, fill e press_key.
  • Análise de memória — Tire snapshots de heap com take_heapsnapshot e compare-os ou inspecione retentores e dominadores para diagnosticar vazamentos.
  • Auditoria Lighthouse — Execute uma auditoria Lighthouse em uma página usando lighthouse_audit para avaliar desempenho, acessibilidade e boas práticas.

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 Model-Context-Protocol (MCP), dando ao seu assistente de codificação 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 mapeadas na fonte).
  • 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 o sinalizador --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 o sinalizador --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, certifique-se de ajustar adequadamente.

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. Pesquise 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 CLI do Factory 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 CLI do Gemini.

Em 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

Alternativamente, 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.

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

Qoder CLI

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

Em 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 desempenho.

[!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 as seguintes opções de configuração:

  • --autoConnect/ --auto-connect Se especificado, conecta-se automaticamente a um navegador (Chrome 144+) em execução local 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 executar 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 temporário de dados do usuá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 de fundo, 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 ele 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 a depuração de ferramentas 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 ao desempenho.

    • 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 desempenho para a API CrUX para obter dados de desempenho 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. Por padrão, as ferramentas de gravação de arquivos são restritas ao diretório temporário do SO quando nenhuma raiz é 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, passe também --isolated. Isso evita compartilhar o diretório de dados do 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 do chrome-devtools-mcp. Defina a opção isolated para true para usar um diretório de dados do usuário temporário, que será limpo automaticamente após o navegador ser fechado.

Conectando 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ê estiver executando seu LLM dentro de um ambiente isolado, mas deseja conectar-se a uma instância do Chrome que é executada fora do isolamento.

Nesses casos, inicie o Chrome primeiro e deixe o servidor Chrome DevTools MCP conectar-se a ele. Há 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.

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 na abertura do site developers.chrome.com pelo servidor Chrome DevTools MCP e na captura de um rastro 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 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 do 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 no 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.