Chrome DevTools MCP
oficialServidor 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_tracee extraia insights acionáveis viaperformance_analyze_insight. - Inspeção de rede — Liste requisições capturadas com
list_network_requestse recupere detalhes de requisições individuais usandoget_network_request. - Depuração do navegador — Capture o estado atual da página com
take_screenshotoutake_snapshot, e inspecione a saída do console vialist_console_messages. - Automação confiável — Navegue, clique, preencha formulários e pressione teclas usando ferramentas como
navigate_page,click,fillepress_key. - Análise de memória — Tire snapshots de heap com
take_heapsnapshote compare-os ou inspecione retentores e dominadores para diagnosticar vazamentos. - Auditoria Lighthouse — Execute uma auditoria Lighthouse em uma página usando
lighthouse_auditpara avaliar desempenho, acessibilidade e boas práticas.
Documentação
Chrome DevTools para agentes
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@latestgarante 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.
- Abra a Paleta de Comandos (
Cmd+Shift+Pno macOS ouCtrl+Shift+Pno Windows/Linux). - Pesquise e execute o comando Chat: Instalar Plugin da Fonte.
- 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:
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:
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
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.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.
- Automação de entrada (10 ferramentas)
- Automação de navegação (6 ferramentas)
- Emulação (2 ferramentas)
- Desempenho (3 ferramentas)
- Rede (2 ferramentas)
- Depuração (8 ferramentas)
- Memória (11 ferramentas)
- Extensões (5 ferramentas)
- Terceiros (2 ferramentas)
- WebMCP (2 ferramentas)
Configuração
O servidor Chrome DevTools MCP suporta as seguintes opções de configuração:
-
--autoConnect/--auto-connectSe 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,-uConecta-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,-wEndpoint 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-headersCabeçalhos personalizados para conexão WebSocket em formato JSON (ex.: '{"Authorization":"Bearer token"}'). Funciona apenas com --wsEndpoint.- Tipo: string
- Padrão:
false
-
--headlessSe deve executar em modo headless (sem interface gráfica).- Tipo: boolean
- Padrão:
false
-
--executablePath/--executable-path,-eCaminho para o executável personalizado do Chrome.- Tipo: string
- Padrão:
false
-
--isolatedSe 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-dirCaminho 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
-
--channelEspecifica 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-fileCaminho para um arquivo para gravar logs de depuração. Defina a variável de ambienteDEBUGcomo*para habilitar logs detalhados. Útil para enviar relatórios de bugs.- Tipo: string
- Padrão:
false
-
--viewportTamanho 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-serverConfiguraçã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-certsSe habilitado, ignora erros relativos a certificados autoassinados e expirados. Use com cautela.- Tipo: boolean
- Padrão:
false
-
--experimentalPageIdRouting/--experimental-page-id-routingSe 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-devtoolsSe deve habilitar automação sobre alvos do DevTools- Tipo: boolean
- Padrão:
false
-
--experimentalVision/--experimental-visionSe 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,-experimentalMemorySe deve habilitar ferramentas de depuração de memória.- Tipo: boolean
- Padrão:
false
-
--experimentalStructuredContent/--experimental-structured-contentSe deve produzir conteúdo formatado estruturado.- Tipo: boolean
- Padrão:
false
-
--experimentalIncludeAllPages/--experimental-include-all-pagesSe 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-screencastExpõ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-pathCaminho para o executável ffmpeg para gravação de screencast.- Tipo: string
- Padrão:
false
-
--categoryExperimentalWebmcp/--category-experimental-webmcpDefina 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-argArgumentos adicionais para o Chrome. Aplica-se apenas quando o Chrome é iniciado pelo chrome-devtools-mcp.- Tipo: array
- Padrão:
false
-
--blockedUrlPattern/--blocked-url-patternRestringe 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-patternRestringe 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-argDesabilita 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-emulationDefina como false para excluir ferramentas relacionadas à emulação.- Tipo: boolean
- Padrão:
true
-
--categoryPerformance/--category-performanceDefina como false para excluir ferramentas relacionadas ao desempenho.- Tipo: boolean
- Padrão:
true
-
--categoryNetwork/--category-networkDefina como false para excluir ferramentas relacionadas à rede.- Tipo: boolean
- Padrão:
true
-
--categoryExtensions/--category-extensionsDefina 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-partyDefina como true para habilitar ferramentas de desenvolvedor de terceiros expostas pela própria página inspecionada- Tipo: boolean
- Padrão:
false
-
--performanceCrux/--performance-cruxDefina 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-statisticsDefina 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 ambienteCHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICSouCIestiverem definidas.- Tipo: boolean
- Padrão:
true
-
--screenshotFormat/--screenshot-formatSubstitui 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-qualitySubstitui 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-widthLargura 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-heightAltura 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
-
--slimExpõ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-headersSe verdadeiro, oculta alguns dos cabeçalhos de rede considerados sensíveis antes de retornar ao cliente.- Tipo: boolean
- Padrão:
false
-
--allowUnrestrictedPaths/--allow-unrestricted-pathsSe 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:
- Navegue até
chrome://inspect/#remote-debuggingpara habilitar a depuração remota. - 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
autoConnectrequer 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.