É possível configurar o Chrome DevTools para agentes para personalizar como ele interage com o navegador, quais ferramentas estão ativadas e como ele processa os dados.
Configure o servidor transmitindo flags de linha de comando na matriz args do
arquivo de configuração do cliente do Protocolo de Contexto de Modelo (MCP). Normalmente, é o arquivo config.json.
Por exemplo, para executar o Chrome no modo headless e usar o canal Canary, use a seguinte configuração:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@latest",
"--headless",
"--channel=canary"
]
}
}
}
Cenários comuns de configuração
Os cenários a seguir descrevem maneiras comuns de configurar o Chrome DevTools para agentes.
Executar no modo headless
Para realizar tarefas em segundo plano sem uma janela visível do navegador, execute o Chrome no
modo headless (sem interface). Adicione a flag --headless aos argumentos do servidor.
Conectar-se a uma sessão do navegador atual
Por padrão, o DevTools para agentes inicia uma nova instância do Chrome. No entanto, é possível conectar o agente a uma sessão de navegador atual. Isso é útil se o agente precisar investigar um problema em uma sessão que você já iniciou (por exemplo, se você já tiver feito login).
É possível se conectar a uma sessão de duas maneiras:
Conexão automática (Chrome 144 ou mais recente)
Se você usar a flag --autoConnect, o servidor MCP vai se conectar automaticamente a uma instância ativa do Chrome.
- No navegador Chrome em execução, acesse
chrome://inspect/#remote-debugginge ative a Depuração remota. - Adicione
--autoConnectà configuração do MCP:json "args": ["chrome-devtools-mcp@latest", "--autoConnect"] - Quando o agente tenta se conectar, o Chrome mostra uma caixa de diálogo pedindo permissão. Clique em Permitir.
Conexão manual
Se não for possível usar --autoConnect (por exemplo, em um ambiente isolado),
inicie o Chrome manualmente com uma porta de depuração e conecte usando
--browser-url.
- Inicie o Chrome no terminal com a depuração remota ativada e um diretório de dados do usuário personalizado.
- macOS:
shell /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable - Windows:
shell start chrome --remote-debugging-port=9222 --user-data-dir=%TEMP%\chrome-profile-stable - Linux:
shell google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
- macOS:
- Configure o agente para se conectar a esta porta:
json "args": ["chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"]
Permitir acesso a arquivos fora do diretório temporário
As ferramentas que leem ou gravam arquivos (por exemplo, salvando capturas de tela, traces ou
carregando extensões) só podem acessar caminhos dentro das raízes do espaço de trabalho
configurado. O servidor usa as raízes fornecidas pelo cliente MCP com a capacidade de raízes do MCP, além de todos os diretórios transmitidos com --filesystemRoot (alias --workspace). Se o cliente não fornecer raízes e você não definir --filesystemRoot, o acesso a arquivos será limitado ao diretório temporário do SO.
As solicitações para outros caminhos falham com um erro Access denied: ... is not within any of
the configured workspace roots.
Para permitir o acesso a um diretório de projeto, adicione --filesystemRoot aos argumentos do servidor. É possível repetir a flag para permitir vários diretórios:
"args": ["chrome-devtools-mcp@latest", "--filesystemRoot=/path/to/project"]
Referência de opções de configuração
As seções a seguir listam as flags de configuração disponíveis. Para ver as opções e atualizações mais recentes, consulte o repositório do GitHub do MCP do Chrome DevTools.
Opções de conexão
Use essas opções para configurar como o servidor se conecta ao Chrome.
| Sinalização | Tipo | Padrão | Descrição |
|---|---|---|---|
--autoConnect ou --auto-connect |
booleano | false |
Conecta-se automaticamente a uma instância do Chrome (144 ou mais recente) em execução local. Exige que a depuração remota seja ativada usando chrome://inspect/#remote-debugging. |
--browserUrl ou --browser-url-u |
string | false |
Conecte-se a uma instância do Chrome em execução e depurável (por exemplo, http://127.0.0.1:9222). |
--wsEndpoint ou --ws-endpoint-w |
string | false |
Endpoint WebSocket para se conectar a uma instância do Chrome em execução (por exemplo, ws://127.0.0.1:9222/devtools/browser/<id>). Alternativa a --browserUrl. |
--wsHeaders ou --ws-headers |
string | false |
Cabeçalhos personalizados para conexão WebSocket no formato JSON (por exemplo, '{"Authorization":"Bearer token"}'). Funciona apenas com --wsEndpoint. |
Opções de inicialização do navegador
Essas opções se aplicam quando o servidor MCP inicia o Chrome.
| Sinalização | Tipo | Padrão | Descrição |
|---|---|---|---|
--headless |
booleano | false |
Executa o Chrome no modo headless (sem interface). |
--channel |
string | stable |
Especifica o canal do Chrome a ser usado. Opções: canary, dev, beta e stable. |
--executablePath ou --executable-path-e |
string | false |
Caminho para um executável personalizado do Chrome. |
--userDataDir ou --user-data-dir |
string | Consulte a descrição | Caminho para o diretório de dados do usuário. O padrão é $HOME/.cache/chrome-devtools-mcp/chrome-profile$CHANNEL_SUFFIX_IF_NON_STABLE. |
--isolated |
booleano | false |
Cria um diretório temporário de dados do usuário que é limpo automaticamente quando o navegador é fechado. |
--viewport |
string | false |
Tamanho inicial da janela de visualização (por exemplo, 1280x720). No modo headless, o tamanho máximo é 3840x2160. |
--proxyServer ou --proxy-server |
string | false |
Configuração do servidor proxy transmitida ao Chrome. |
--chromeArg ou --chrome-arg |
matriz | false |
Argumentos extras a serem transmitidos ao Chrome. |
--ignoreDefaultChromeArg ou --ignore-default-chrome-arg |
matriz | false |
Desative explicitamente os argumentos padrão do Chrome. |
Opções de segurança e privacidade
Use essas opções para gerenciar as configurações de segurança e a privacidade dos dados.
| Sinalização | Tipo | Padrão | Descrição |
|---|---|---|---|
--acceptInsecureCerts ou --accept-insecure-certs |
booleano | false |
Ignora erros relacionados a certificados autoassinados e expirados. Use com cuidado. |
--blockedUrlPattern ou --blocked-url-pattern |
matriz | false |
Restringe o acesso à rede bloqueando padrões do URL especificados (usa URLPattern). Bloqueia navegações e subrecursos. |
--allowedUrlPattern ou --allowed-url-pattern |
matriz | false |
Restringe o acesso à rede permitindo apenas padrões de URL especificados. É necessário ter o Chrome 149 ou mais recente. |
--redactNetworkHeaders ou --redact-network-headers |
booleano | false |
Encobre cabeçalhos de rede sensíveis antes de retorná-los ao cliente. |
--usageStatistics ou --usage-statistics |
booleano | true |
Permite a coleta de estatísticas de uso para melhorar a ferramenta. Também pode ser desativado usando as variáveis de ambiente CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS ou CI. |
--performanceCrux ou --performance-crux |
booleano | true |
Envia URLs de rastreamentos de desempenho para a API CrUX do Google e busca dados de experiência de usuários reais. |
--javascriptEvaluation ou --javascript-evaluation |
booleano | true |
Defina como false para desativar a execução do JavaScript. Quando desativadas, as ferramentas de avaliação de script são desativadas, o parâmetro initScript de navigate_page é desativado, e a navegação para URLs javascript:, data: ou vbscript: é proibida. |
--filesystemRoot ou --filesystem-root--workspace |
matriz | Diretório temporário do SO | Um diretório que as ferramentas de acesso a arquivos podem usar, além das raízes fornecidas pelo cliente MCP. Pode ser especificado mais de uma vez. Consulte Permitir acesso a arquivos fora do diretório temporário. |
--allowUnrestrictedPaths ou --allow-unrestricted-paths |
booleano | false |
Descontinuado: use --workspace=/. Desativa a restrição de caminho que se aplica quando o cliente do MCP não fornece raízes. |
Categorias de recursos
É possível ativar ou desativar grupos de ferramentas usando essas flags.
| Sinalização | Tipo | Padrão | Descrição |
|---|---|---|---|
--categoryInput ou --category-input |
booleano | true |
Ativa ferramentas relacionadas à entrada. |
--categoryNavigation ou --category-navigation |
booleano | true |
Ativa ferramentas relacionadas à navegação. |
--categoryEmulation ou --category-emulation |
booleano | true |
Ativa ferramentas relacionadas à emulação. |
--categoryNetwork ou --category-network |
booleano | true |
Ativa ferramentas relacionadas à rede. |
--categoryPerformance ou --category-performance |
booleano | true |
Ativa ferramentas relacionadas à performance. |
--categoryDebugging ou --category-debugging |
booleano | true |
Ativa ferramentas relacionadas à depuração. |
--categoryMemory ou --category-memory |
booleano | true |
Ativa ferramentas relacionadas à memória. |
--categoryExtensions ou --category-extensions |
booleano | false |
Ativa ferramentas relacionadas a extensões. Compatível apenas com conexão de cano. |
--categoryPwa ou --category-pwa |
booleano | false |
Ativa ferramentas para automatizar Apps Web Progressivos (instalação, inicialização, desinstalação e estado do SO). Compatível apenas com conexão de pipe. |
--categoryExperimentalThirdParty ou --category-experimental-third-party |
booleano | false |
Ativa as ferramentas para desenvolvedores de terceiros expostas pela página inspecionada. |
--categoryExperimentalWebmcp ou --category-experimental-webmcp |
booleano | false |
Ativa a depuração de ferramentas WebMCP. Requer o Chrome 149 ou mais recente com os recursos do WebMCP ativados. |
--memoryDebugging ou --memory-debugging |
booleano | false |
Ativa as ferramentas de depuração de memória. |
Opções de captura de tela
Use essas opções para personalizar como o agente faz capturas de tela.
| Sinalização | Tipo | Padrão | Descrição |
|---|---|---|---|
--screenshotFormat ou --screenshot-format |
string | false |
Substitui o formato de saída padrão (png). Opções: jpeg, png e webp. Os formatos jpeg e webp são menores, o que ajuda a reduzir o tamanho do contexto em conversas de IA. |
--screenshotQuality ou --screenshot-quality |
número | false |
Substitui a qualidade de compactação (0 a 100) para jpeg e webp. |
--screenshotMaxWidth ou --screenshot-max-width |
número | false |
Largura máxima em pixels. As capturas de tela maiores são reduzidas. |
--screenshotMaxHeight ou --screenshot-max-height |
número | false |
Altura máxima em pixels. As capturas de tela maiores são reduzidas. |
Opções experimentais
Use essas opções para ativar recursos experimentais que estão em desenvolvimento.
| Sinalização | Tipo | Padrão | Descrição |
|---|---|---|---|
--experimentalDevtools ou --experimental-devtools |
booleano | false |
Permite a automação em destinos do DevTools. |
--experimentalVision ou --experimental-vision |
booleano | false |
Ativa ferramentas baseadas em coordenadas (por exemplo, click_at). Geralmente, requer um modelo de uso de computador que possa produzir coordenadas precisas analisando capturas de tela. |
--experimentalStructuredContent ou --experimental-structured-content |
booleano | false |
Gera conteúdo formatado e estruturado. |
--experimentalIncludeAllPages ou --experimental-include-all-pages |
booleano | false |
Inclui todos os tipos de páginas (por exemplo, webviews e páginas em segundo plano). |
--experimentalScreencast ou --experimental-screencast |
booleano | false |
Expõe ferramentas de screencast (requer ffmpeg no PATH). |
--experimentalFfmpegPath ou --experimental-ffmpeg-path |
string | false |
Caminho para o executável ffmpeg. |
--experimentalScreencastFps ou --experimental-screencast-fps |
número | false |
Quadros por segundo para gravação de screencast. Valores mais baixos podem reduzir a pressão de memória em páginas que produzem frames mais rápido do que o ffmpeg pode codificá-los. |
Outras opções
Use essas opções para configurar o registro, o roteamento de páginas e os mapas de origem ou para ativar um conjunto simplificado de ferramentas.
| Sinalização | Tipo | Padrão | Descrição |
|---|---|---|---|
--slim |
booleano | false |
Expõe um conjunto pequeno de três ferramentas (navegação, execução de script e capturas de tela). Útil para tarefas básicas do navegador. |
--pageIdRouting ou --page-id-routing |
booleano | true |
Exige pageId em ferramentas e solicitações de rotas no escopo da página por ID da página, o que é útil para sessões simultâneas do agente. Use --no-page-id-routing para desativar. |
--sourceMaps ou --source-maps |
booleano | true |
Ativa mapas de origem no DevTools. Use --no-source-maps para desativar. |
--logFile ou --log-file |
string | false |
Caminho para um arquivo em que os registros de depuração serão gravados. Defina a variável de ambiente NODE_DEBUG como * para ativar os registros detalhados. |
--config |
string | false |
Caminho para um arquivo de configuração JSON. |
Variáveis de ambiente
Você também pode usar as seguintes variáveis de ambiente para configurar o servidor:
CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS: se definido, desativa a coleta de estatísticas de uso (equivalente a--no-usage-statistics).CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS: se definido, desativa as verificações periódicas de atualizações.CI: se definido, desativa a coleta de estatísticas de uso.NODE_DEBUG: defina como*para ativar o registro detalhado de depuração (funciona em conjunto com--logFile).