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?
- Gravar e analisar rastros de desempenho — inicie um rastro com
performance_start_trace, pare-o comperformance_stop_tracee obtenha insights acionáveis viaperformance_analyze_insight. - Inspecionar atividade de rede — liste todas as requisições usando
list_network_requestse recupere detalhes de requisições individuais comget_network_request. - Depurar erros de console e estado de execução — recupere mensagens do console via
list_console_messageseget_console_message, ou execute JavaScript arbitrário comevaluate_script. - Automatizar interações do navegador — navegue, clique, preencha formulários e simule entrada usando ferramentas como
navigate_page,click,fillepress_key. - Capturar estado visual — tire capturas de tela da página com
take_screenshotou instantâneos de acessibilidade comtake_snapshot. - Diagnosticar problemas de memória — capture snapshots de heap com
take_heapsnapshote inspecione retentores de objetos, dominadores ou compare snapshots.
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 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@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, 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.
- Abra a Paleta de Comandos (
Cmd+Shift+Pno macOS ouCtrl+Shift+Pno Windows/Linux). - Procure 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 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
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 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.
- Automação de entrada (10 ferramentas)
- Automação de navegação (6 ferramentas)
- Emulação (2 ferramentas)
- Performance (3 ferramentas)
- Rede (2 ferramentas)
- Depuração (8 ferramentas)
- Memória (12 ferramentas)
take_heapsnapshotclose_heapsnapshotcompare_heapsnapshotsget_heapsnapshot_class_nodesget_heapsnapshot_detailsget_heapsnapshot_dominatorsget_heapsnapshot_duplicate_stringsget_heapsnapshot_edgesget_heapsnapshot_object_detailsget_heapsnapshot_retainersget_heapsnapshot_retaining_pathsget_heapsnapshot_summary
- Extensões (5 ferramentas)
- Terceiros (2 ferramentas)
- WebMCP (2 ferramentas)
Configuração
O servidor Chrome DevTools MCP suporta a seguinte opção de configuração:
-
--autoConnect/--auto-connectSe 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,-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 ser executado 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 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-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 em segundo plano, 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 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 ferramentas de depuração 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 à performance.- 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 performance para a API CrUX para obter dados de performance 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 (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:
- 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 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.