Comparação prática

Playwright MCP vs Chrome DevTools MCP postos à prova

Passámos os dois servidores MCP de browser pelo mesmo formulário local, cinco vezes cada: campos de texto, um carregamento de ficheiro, dois iframes, um passo que só uma pessoa pode concluir e um reinício. Eis o que passou, o que falhou e o que só lemos na documentação.

Resposta curta

  • Quando iniciaram o seu próprio Chrome, os dois servidores preencheram todos os campos, carregaram o ficheiro e trabalharam dentro de um iframe da mesma origem e de um iframe de outro site, em cinco de cinco execuções cada.
  • Ligado a um Chrome que uma pessoa já tinha aberto, o Playwright MCP preencheu de imediato o formulário aberto. O Chrome DevTools MCP 1.10.1 conseguia clicar ali, mas só conseguiu preencher campos depois de recarregar a página uma vez, em todas as execuções.
  • O Chrome próprio do Chrome DevTools MCP devolveu navigator.webdriver = true; o do Playwright MCP devolveu false. Num Chrome que inicias tu, ambos devolveram false.
  • Escolhe o Playwright MCP para execuções limpas e repetíveis e uma lista de ferramentas mais curta. Escolhe o Chrome DevTools MCP quando depuras a tua própria aplicação web (traces, Lighthouse, rede) ou queres partilhar com o agente o Chrome que usas no dia a dia.

Resultados do teste

Cada célula conta as execuções bem-sucedidas em 5. Data do teste 30 de setembro de 2026, Google Chrome 154.0.8037.92, @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1 e agent-browser 0.38.1 como terceira coluna.

Modo 1: a ferramenta inicia o seu próprio Chrome

Cada ferramenta lançou um Chrome sem interface com uma pasta de perfil nova, abriu a página de teste, iniciou sessão na página, preencheu o formulário e carregou em submeter sem assinalar o passo humano.

TemaPlaywright MCPChrome DevTools MCPagent-browser
Ambos os iframes acessíveis a partir do snapshot5 de 55 de 55 de 5
Texto, email, lista pendente, botão de opção, caixa de verificação e área de texto preenchidos5 de 55 de 55 de 5
Carregamento de fora da pasta permitida recusado (predefinição)5 de 55 de 5não medido
O ficheiro carregado chegou intacto (nome, tamanho, SHA-256)5 de 55 de 55 de 5
Escreveu e clicou no iframe da mesma origem5 de 55 de 55 de 5
Escreveu e clicou no iframe de outro site5 de 55 de 55 de 5
O formulário aceitou tudo exceto o passo humano5 de 55 de 52 de 5
Sessão mantida após reinício com o mesmo perfil0 de 55 de 55 de 5
Sessão mantida após browser_close e um reinício5 de 5não medidonão medido
O modo isolado arrancou sem a sessão anterior5 de 55 de 55 de 5
navigator.webdriver devolveu false5 de 50 de 50 de 5

Modo 2: a ferramenta liga-se a um Chrome que uma pessoa já usa

Iniciámos nós o Chrome, com o seu próprio perfil e uma porta de depuração local. Um substituto da pessoa abriu a página, iniciou sessão e escreveu o nome do produto. Depois a ferramenta ligou-se, preencheu o resto e parou; o substituto assinalou o passo humano e submeteu; a ferramenta leu o resultado.

TemaPlaywright MCPChrome DevTools MCPagent-browser
Encontrou o separador da pessoa e a respetiva sessão5 de 55 de 55 de 5
Preencheu os campos da página tal como estava5 de 50 de 55 de 5
Preencheu os campos após uma recarganão medido5 de 5não medido
O ficheiro carregado chegou intacto (nome, tamanho, SHA-256)5 de 55 de 55 de 5
Escreveu e clicou no iframe da mesma origem5 de 55 de 55 de 5
Escreveu e clicou no iframe de outro site5 de 55 de 50 de 5
A pessoa assinalou o passo humano e submeteu5 de 55 de 50 de 5
O agente leu o resultado submetido5 de 55 de 50 de 5
O registo de rede do agente mostrou o POST do formulário5 de 55 de 50 de 5
Voltou a ligar-se ao mesmo separador após reiniciar o servidor5 de 55 de 5não medido
navigator.webdriver devolveu false5 de 55 de 55 de 5

Capturas de ecrã das execuções

Captura de ecrã da página inteira do formulário de teste local, preenchido pelo Playwright MCP
Playwright MCP, modo 1: todos os campos, o ficheiro e ambos os iframes estão preenchidos; a submissão só fica retida pelo passo humano por assinalar. Captura feita pela própria ferramenta.
Captura de ecrã da página inteira do formulário de teste local, preenchido pelo Chrome DevTools MCP
Chrome DevTools MCP, modo 1: todos os campos, o ficheiro e ambos os iframes estão preenchidos; a submissão só fica retida pelo passo humano por assinalar. Captura feita pela própria ferramenta.

Como testámos

  • Data 30 de setembro de 2026, em macOS com Google Chrome 154.0.8037.92. Versões fixadas: @playwright/mcp 0.0.83, chrome-devtools-mcp 1.10.1, agent-browser 0.38.1.
  • O formulário é uma página de teste local em 127.0.0.1; o iframe de outro site vem de localhost numa segunda porta. Não houve nenhum site real, nenhuma conta, nenhum perfil de browser pessoal nem nenhum pagamento envolvido.
  • Um pequeno script comunicou com cada servidor por MCP, exatamente como o cliente de um agente: snapshot, preencher formulário, carregar ficheiro, clicar, ler consola e rede. Usou as referências de elementos do próprio snapshot de cada ferramenta. Nenhum modelo de linguagem tomou decisões, por isso todas as execuções seguiram os mesmos passos.
  • Cada cenário correu 5 vezes por ferramenta. As tabelas contam as execuções bem-sucedidas.
  • A pessoa do modo 2 é um script que envia comandos simples do DevTools Protocol para o separador. É um substituto, não uma pessoa real. Para o excluir como causa da falha de preenchimento do Chrome DevTools MCP, também iniciámos o Chrome diretamente com o URL de teste e sem script nenhum: mesmo resultado.
  • O agent-browser foi controlado pela sua linha de comandos, a sua interface principal, e não pelo seu modo MCP.

O que este teste não cobre

  • CAPTCHAs reais, verificações anti-bot e inícios de sessão reais em sites de terceiros.
  • Firefox e WebKit, as extensões de browser de ambos os projetos e a caixa de diálogo de ligação automática do Chrome.
  • Traces de desempenho, Lighthouse e ferramentas de memória.
  • Um modelo de linguagem a escolher os passos: quantos tokens e turnos um agente real precisa depende do modelo.
  • Windows e Linux.

O que se destacou

Ambos recusam carregamentos de fora de uma pasta permitida

O nosso primeiro carregamento vinha de uma pasta do projeto e os dois servidores recusaram-no por predefinição. O Playwright MCP permite as raízes do espaço de trabalho, ou o seu diretório de trabalho quando o cliente não indica nenhuma; o Chrome DevTools MCP permite a pasta temporária do sistema quando o cliente não indica raízes. A partir de uma pasta permitida, o ficheiro chegou intacto em todas as execuções: mesmo nome, tamanho e SHA-256. Cada projeto documenta uma opção para alargar o limite.

O Chrome DevTools MCP não conseguiu preencher uma página aberta antes de se ligar

No modo 2, o Chrome DevTools MCP encontrou o separador e a respetiva sessão, clicou em botões e escreveu dentro de ambos os iframes, mas preencher campos na própria página falhou com «did not become interactive» em todas as execuções. Depois de uma recarga feita pelo agente, o preenchimento funcionou e o resto do teste passou. Uma recarga descarta tudo o que a página não tenha guardado; a nossa página de teste restaura o rascunho, muitos formulários reais não. O Playwright MCP não precisou de recarregar.

navigator.webdriver depende de quem inicia o Chrome

Quando o Chrome DevTools MCP lançou o Chrome, a página viu navigator.webdriver = true, algo que a própria documentação aponta como motivo para alguns inícios de sessão falharem. O Chrome lançado pelo Playwright MCP devolveu false. Quando as ferramentas se ligaram a um Chrome iniciado por nós, todas devolveram false. Não testámos nenhuma verificação anti-bot real.

O Playwright MCP só mantém o perfil depois de browser_close

Com uma pasta de perfil persistente, a sessão desaparecia após reiniciar o servidor quando o cliente simplesmente se desligava. Quando o agente chamava antes browser_close, a sessão mantinha-se em todas as execuções. O Chrome DevTools MCP manteve o perfil em todas as execuções sem qualquer chamada de fecho.

O agent-browser não viu o iframe de outro site quando ligado

Como terceira coluna, o agent-browser preencheu todos os campos, o ficheiro e ambos os iframes quando iniciou o seu próprio browser; o clique em submeter foi dado como feito todas as vezes, mas a página só o registou em algumas execuções. Ligado a um Chrome em execução, o seu snapshot mostrava o iframe da mesma origem mas não o de outro site, mesmo depois de esperar e tirar um segundo snapshot, pelo que não foi possível concluir o formulário.

TemaTexto oficialO que significa na prática
Acesso a ficheiros no Playwright MCPBy default access to file system is restricted to workspace root directories (or cwd if no roots are configured) only, and navigation to file:// URLs is blocked.Carrega ficheiros a partir do espaço de trabalho do teu projeto ou inicia o servidor com --allow-unrestricted-file-access.
Acesso a ficheiros no Chrome DevTools MCPBy default, file-writing tools are restricted to the OS temp directory when no roots are configured.Sem raízes MCP do teu cliente, guarda os ficheiros a carregar na pasta temporária ou acrescenta --filesystem-root.
Início de sessão no Chrome DevTools MCPSome accounts may prevent sign-in when the browser is controlled via WebDriver (the default launch mechanism for the Chrome DevTools MCP server).Para sites onde inicias sessão, liga-o a um Chrome que tu iniciaste em vez de deixares o servidor lançar um.
Perfil no Playwright MCPA persistent profile can only be used by one browser instance at a timeDois agentes no mesmo espaço de trabalho precisam de --isolated ou de pastas de perfil separadas.
Playwright CLICLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model contextA própria Microsoft encaminha agentes de programação com contexto apertado para a sua CLI com skills em vez do servidor MCP.
Estatísticas no Chrome DevTools MCPGoogle collects usage statistics (such as tool invocation success rates, latency, and environment information) to improve the reliability and performance of Chrome DevTools MCP.Ativas por predefinição; acrescenta --no-usage-statistics se não as quiseres.

Documentado, não testado

Estas diferenças vêm do README e da documentação de cada projeto na data de leitura. Não as medimos.

TemaPlaywright MCPChrome DevTools MCP
BrowsersChrome, Firefox, WebKit e Edge através de --browser.Oficialmente Google Chrome e Chrome for Testing; outros browsers Chromium podem funcionar.
O teu browser em uso--cdp-endpoint para uma porta de depuração, ou a Playwright Extension com seletor de separadores e aprovação.--browser-url para uma porta de depuração, ou --autoConnect no Chrome 144+ com uma caixa de diálogo de permissão em cada sessão.
PerfilPerfil persistente por predefinição; --isolated mantém-no em memória; --storage-state carrega cookies e armazenamento.Perfil persistente por predefinição; --isolated usa um temporário que é apagado no fim.
DepuraçãoConsola e pedidos de rede; tracing, vídeo e ferramentas de armazenamento a pedido.Traces de desempenho com análises, auditorias Lighthouse, snapshots de memória, consola com stack traces via source maps, pedidos de rede.
Dados enviados ao fornecedorO README não descreve estatísticas de utilização.Estatísticas de utilização ativas por predefinição (--no-usage-statistics); as ferramentas de desempenho podem consultar URLs de traces na CrUX API (--no-performance-crux).
Sem MCPA Microsoft recomenda a Playwright CLI com skills para agentes de programação.Inclui uma CLI para usar sem MCP.
LicençaApache-2.0Apache-2.0

Quanto pesa a lista de ferramentas

Antes de abrir qualquer página, o Playwright MCP anunciou 25 ferramentas com 20,3 KB de descrições, e o Chrome DevTools MCP 30 ferramentas com 25,7 KB (definições predefinidas, medido através de tools/list). Um agente carrega esse texto no seu contexto durante toda a sessão. O Chrome DevTools MCP oferece --slim com três ferramentas; o Playwright MCP acrescenta grupos de ferramentas com --caps.

Qual escolher

O Playwright MCP serve quando

  • o agente deve iniciar um browser limpo para cada tarefa, sem interface ou em CI,
  • também precisas de Firefox ou WebKit,
  • o agente retoma um formulário que uma pessoa já começou, porque preencheu páginas abertas sem recarregar,
  • queres uma lista de ferramentas mais curta no contexto do agente.

O Chrome DevTools MCP serve quando

  • depuras a tua própria aplicação web e queres traces, Lighthouse, rede e consola num só sítio,
  • queres partilhar com o agente o Chrome do dia a dia através da ligação automática,
  • trabalhas só no Chrome e gostas de ferramentas mantidas pela equipa do Chrome DevTools,
  • podes deixar o agente recarregar uma página que não abriu antes de a preencher.

E o agent-browser?

O agent-browser é uma ferramenta de browser de linha de comandos para agentes, com um modo MCP opcional. Preencheu o mesmo formulário quando iniciou o seu próprio browser, mas não viu o iframe de outro site quando ligado a um Chrome em execução. Vale a pena experimentar se o teu agente trabalha melhor com comandos de shell curtos do que com ferramentas MCP.

Claude in Chrome vs Chrome DevTools MCP: comparação →

Faz o teste tu mesmo

A página de teste é um único ficheiro Node.js sem dependências. Só escuta no teu próprio computador.

  1. Transfere o ficheiro e executa-o com Node.js 18 ou mais recente.
  2. Abre uma vez http://127.0.0.1:4461/ para veres a página; o iframe de outro site é carregado a partir de http://localhost:4462/.
  3. Adiciona ao teu agente uma das entradas MCP abaixo e pede-lhe que preencha o formulário, carregue um PNG pequeno qualquer, preencha ambos os iframes e pare antes do passo humano.
  4. Assinala tu o passo humano, submete e pergunta ao agente o que a página mostra agora.

Transferir browser-mcp-test.mjs

O ficheiro serve o formulário, o iframe e um endpoint de eco local. Nada é enviado para mais lado nenhum.

A ferramenta inicia o seu próprio Chrome

Playwright MCP

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@0.0.83"
      ]
    }
  }
}

Chrome DevTools MCP

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@1.10.1",
        "--no-usage-statistics"
      ]
    }
  }
}

A ferramenta liga-se a um Chrome que iniciaste na porta 9222

Playwright MCP

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@playwright/mcp@0.0.83",
        "--cdp-endpoint",
        "http://127.0.0.1:9222"
      ]
    }
  }
}

Chrome DevTools MCP

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

O que o LaunchRepo usa

  • Os playbooks do LaunchRepo são escritos e testados para o Chrome DevTools MCP ligado ao teu próprio Chrome, porque as submissões a diretórios precisam das tuas sessões reais e deves ver cada passo.
  • Com um Chrome iniciado por ti, navigator.webdriver manteve-se false para todas as ferramentas deste teste, e a passagem funcionou: concluis um passo no mesmo separador e o agente lê o resultado.
  • Se um formulário de diretório já estiver aberto quando o agente se liga, deixa-o recarregar a página antes de escreveres alguma coisa, para não perderes nada do que introduziste.

Fontes

Páginas e repositórios oficiais, lidos a 30 de setembro de 2026. As citações são copiadas palavra por palavra; os resultados do teste são medições nossas.

Perguntas frequentes

O Playwright MCP ou o Chrome DevTools MCP é melhor para agentes de programação?
Nenhum ganha em tudo. No nosso teste, ambos passaram todas as verificações do formulário quando iniciaram o seu próprio Chrome. O Playwright MCP também preencheu uma página que uma pessoa já tinha aberto e anunciou uma lista de ferramentas mais curta; o Chrome DevTools MCP traz traces de desempenho, Lighthouse e ferramentas de rede e consola mais completas para depurar a tua própria aplicação.
O Chrome DevTools MCP pode usar o Chrome em que tenho sessão iniciada?
Sim. Com --autoConnect liga-se ao teu Chrome em execução, versão 144 ou mais recente, depois de permitires a depuração remota e confirmares uma caixa de diálogo. Em alternativa, inicia o Chrome com uma porta de depuração remota e uma pasta de perfil separada e aponta --browser-url para ela; desde o Chrome 136, a porta é ignorada no perfil predefinido.
Ambos lidam com iframes?
Sim, nas nossas execuções ambos chegaram a um iframe da mesma origem e a um de outro site nos dois modos, cinco de cinco vezes, e conseguiram escrever e clicar dentro deles.
Porque é que o carregamento do ficheiro falhou?
Por predefinição, ambos os servidores só leem ficheiros de pastas permitidas: o Playwright MCP das raízes do espaço de trabalho ou do seu diretório de trabalho, o Chrome DevTools MCP da pasta temporária do sistema quando o teu cliente não indica raízes. Move o ficheiro para lá ou usa a opção documentada para alargar o limite.
Estas ferramentas conseguem resolver CAPTCHAs?
Nenhuma documenta uma funcionalidade de CAPTCHA, e não testámos CAPTCHAs reais. Planeia antes uma passagem: o agente para, tu resolves o passo na mesma janela visível e o agente continua. No nosso teste com ligação a um Chrome aberto, essa passagem funcionou com os dois servidores.
O navigator.webdriver denuncia o agente?
No nosso teste só foi true quando o Chrome DevTools MCP lançou o Chrome por si. O Chrome próprio do Playwright MCP e qualquer Chrome iniciado por nós devolveram false. Se um site reage a isso depende desse site; não testámos verificações anti-bot reais.

Deixa o teu agente tratar do lançamento em diretórios

O LaunchRepo dá ao teu agente de programação playbooks testados para plataformas de lançamento e diretórios. Trabalha no teu próprio Chrome através do Chrome DevTools MCP, e és tu que decides se ele submete por conta própria ou te pergunta antes.

Ver preços