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.
| Tema | Playwright MCP | Chrome DevTools MCP | agent-browser |
|---|---|---|---|
| Ambos os iframes acessíveis a partir do snapshot | 5 de 5 | 5 de 5 | 5 de 5 |
| Texto, email, lista pendente, botão de opção, caixa de verificação e área de texto preenchidos | 5 de 5 | 5 de 5 | 5 de 5 |
| Carregamento de fora da pasta permitida recusado (predefinição) | 5 de 5 | 5 de 5 | não medido |
| O ficheiro carregado chegou intacto (nome, tamanho, SHA-256) | 5 de 5 | 5 de 5 | 5 de 5 |
| Escreveu e clicou no iframe da mesma origem | 5 de 5 | 5 de 5 | 5 de 5 |
| Escreveu e clicou no iframe de outro site | 5 de 5 | 5 de 5 | 5 de 5 |
| O formulário aceitou tudo exceto o passo humano | 5 de 5 | 5 de 5 | 2 de 5 |
| Sessão mantida após reinício com o mesmo perfil | 0 de 5 | 5 de 5 | 5 de 5 |
| Sessão mantida após browser_close e um reinício | 5 de 5 | não medido | não medido |
| O modo isolado arrancou sem a sessão anterior | 5 de 5 | 5 de 5 | 5 de 5 |
| navigator.webdriver devolveu false | 5 de 5 | 0 de 5 | 0 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.
| Tema | Playwright MCP | Chrome DevTools MCP | agent-browser |
|---|---|---|---|
| Encontrou o separador da pessoa e a respetiva sessão | 5 de 5 | 5 de 5 | 5 de 5 |
| Preencheu os campos da página tal como estava | 5 de 5 | 0 de 5 | 5 de 5 |
| Preencheu os campos após uma recarga | não medido | 5 de 5 | não medido |
| O ficheiro carregado chegou intacto (nome, tamanho, SHA-256) | 5 de 5 | 5 de 5 | 5 de 5 |
| Escreveu e clicou no iframe da mesma origem | 5 de 5 | 5 de 5 | 5 de 5 |
| Escreveu e clicou no iframe de outro site | 5 de 5 | 5 de 5 | 0 de 5 |
| A pessoa assinalou o passo humano e submeteu | 5 de 5 | 5 de 5 | 0 de 5 |
| O agente leu o resultado submetido | 5 de 5 | 5 de 5 | 0 de 5 |
| O registo de rede do agente mostrou o POST do formulário | 5 de 5 | 5 de 5 | 0 de 5 |
| Voltou a ligar-se ao mesmo separador após reiniciar o servidor | 5 de 5 | 5 de 5 | não medido |
| navigator.webdriver devolveu false | 5 de 5 | 5 de 5 | 5 de 5 |
Capturas de ecrã das execuções


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.
| Tema | Texto oficial | O que significa na prática |
|---|---|---|
| Acesso a ficheiros no Playwright MCP | By 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 MCP | By 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 MCP | Some 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 MCP | A persistent profile can only be used by one browser instance at a time | Dois agentes no mesmo espaço de trabalho precisam de --isolated ou de pastas de perfil separadas. |
| Playwright CLI | CLI invocations are more token-efficient: they avoid loading large tool schemas and verbose accessibility trees into the model context | A 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 MCP | Google 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.
| Tema | Playwright MCP | Chrome DevTools MCP |
|---|---|---|
| Browsers | Chrome, 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. |
| Perfil | Perfil 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ção | Consola 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 fornecedor | O 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 MCP | A Microsoft recomenda a Playwright CLI com skills para agentes de programação. | Inclui uma CLI para usar sem MCP. |
| Licença | Apache-2.0 | Apache-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.
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.
- Transfere o ficheiro e executa-o com Node.js 18 ou mais recente.
- 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/.
- 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.
- 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