Playwright MCP server: deixe um assistente controlar um navegador real
Guia do Playwright MCP server e gerador de config
Playwright MCP server: instalação, opções e ferramentas | We.Inc
O que o Playwright MCP server faz, como funcionam os snapshots de acessibilidade, as opções que valem a pena, as ferramentas principais e um gerador que escreve a config para você.
O Playwright MCP é o MCP server open source da Microsoft que dá a um assistente de IA um navegador real para clicar, digitar, preencher formulários e ler páginas. Em vez de olhar capturas de tela, ele lê a árvore de acessibilidade da página, uma lista estruturada de botões, links e textos. Ele precisa do Node.js 18 ou mais recente e é instalado com uma linha de npx.
Playwright MCP em resumo
Item
Valor
Pacote npm
@playwright/mcp
Requisito
Node.js 18 ou mais recente
Como enxerga as páginas
Snapshots de acessibilidade, não pixels
Navegadores
chrome, firefox, webkit, msedge
Janela padrão
Com interface (visível); adicione --headless para escondê-la
Se você tem um site ou uma loja, o Playwright MCP é um jeito prático de fazer um assistente percorrer as suas próprias páginas como um cliente faria: abrir o menu, colocar algo no carrinho, enviar o formulário de contato e relatar o que quebrou. Ele é construído sobre o Playwright, uma biblioteca de testes de navegador muito usada. Escolha as suas opções abaixo e copie uma config, depois leia as notas de segurança antes de apontá-lo para qualquer coisa com login.
Escolha um navegador e se a janela deve ficar visível ou em modo headless.
Ative o modo isolado se quiser que cada sessão comece do zero, sem nada salvo em disco.
Adicione os grupos de recursos extras de que precisar, como salvar PDF ou asserções de teste.
Copie o JSON para a config do seu app MCP e reinicie o app. A primeira execução baixa o pacote.
Teste em uma cópia de staging ou em uma conta de teste, não no seu login de administrador real.
Use --isolated em execuções de teste para que os cookies de uma sessão nunca vazem para a próxima.
Peça um snapshot antes de pedir cliques: o assistente escolhe os elementos a partir dessa lista.
Dê passos exatos ("abra /pricing, clique no segundo plano, informe o total") em vez de metas vagas.
Tenha cuidado com browser_run_code_unsafe: ele executa qualquer código Playwright, então use só com prompts em que você confia.
Perguntas frequentes
O que é um snapshot de acessibilidade?
Os navegadores mantêm uma árvore de acessibilidade, a mesma visão estruturada que os leitores de tela usam: cada botão, link, título e campo com o seu nome e papel. O Playwright MCP entrega essa árvore ao assistente, que pode dizer "clique no botão Adicionar ao carrinho" sem adivinhar a partir de uma imagem.
O Playwright MCP é uma barreira de segurança?
Não, e o README diz isso em negrito. Opções como --allowed-origins e --blocked-origins também são descritas como não sendo uma barreira de segurança. Trate-o como uma ferramenta que você supervisiona e rode-o onde um erro não possa atingir dados reais de clientes.
Ele lembra logins entre sessões?
Por padrão ele usa um perfil persistente, então os logins ficam salvos em disco como em um navegador normal. Com --isolated o perfil fica na memória e se perde quando o navegador fecha. Você pode pré-carregar cookies em uma sessão isolada com --storage-state.
Ele tira capturas de tela ou salva PDFs?
browser_take_screenshot é uma ferramenta principal. Salvar PDF (browser_pdf_save) é opcional, com --caps=pdf, e as ferramentas de clique por coordenadas precisam de --caps=vision.
Devo usar o Playwright MCP ou o Playwright CLI?
O README sugere que agentes de código podem se sair melhor com o Playwright CLI separado, que usa menos tokens. Ele reserva o MCP para sessões exploratórias mais longas, em que manter o estado do navegador aberto compensa esse custo.
Persistente, isolado ou o seu próprio navegador
O Playwright MCP pode rodar de três formas. O perfil persistente padrão guarda cookies e logins em uma pasta por projeto. O modo isolado mantém tudo na memória, o que combina com testes repetíveis. O modo de extensão do navegador se conecta a uma janela do Chrome ou do Edge que você já tem aberta, o que é prático, mas significa que o assistente age com os seus logins reais.
Só um navegador pode usar um perfil persistente por vez. Se você roda duas sessões de assistente no mesmo projeto, inicie a segunda com --isolated ou com outro --user-data-dir.
Boas tarefas para ele no seu próprio site
Verificar se cada link do menu principal abre uma página que carrega. Preencher o formulário de contato com dados de teste e confirmar que a mensagem de agradecimento aparece. Ler as mensagens do console em uma página que parece lenta. Redimensionar para a largura de um celular e listar tudo o que transborda.
Anote os resultados como um checklist que você possa repetir depois de cada mudança, para que a execução do assistente vire o seu teste de regressão.
Opções que vale a pena conhecer
Cada opção também tem uma versão em variável de ambiente, listada no README.
Opções selecionadas do Playwright MCP
Opção
O que faz
--browser <browser>
chrome, firefox, webkit ou msedge
--headless
Roda sem janela visível; com interface é o padrão
--isolated
Mantém o perfil do navegador na memória, não em disco
--storage-state <path>
Carrega cookies e local storage em uma sessão isolada
--device <device>
Emula um dispositivo, por exemplo "iPhone 15"
--viewport-size <size>
Define o viewport em pixels, por exemplo "1280x720"
--caps <caps>
Ativa grupos extras de ferramentas, como pdf ou vision
--allowed-origins / --blocked-origins
Permite ou bloqueia origens de requisições; não é uma barreira de segurança
--timeout-action / --timeout-navigation
Padrões de 5000 ms e 60000 ms
--port <port>
Serve por HTTP para que um cliente se conecte por URL
Ferramentas principais
Ferramentas principais do Playwright MCP
Ferramenta
Finalidade
Somente leitura
Abrir uma URL
Não
Capturar o snapshot de acessibilidade da página
Sim
Clicar em um elemento
Não
Digitar em um campo
Não
Preencher vários campos de uma vez
Não
Salvar uma captura de tela
Sim
Ler as mensagens do console
Sim
Listar as requisições de rede
Sim
Redimensionar a janela
Não
Executar código Playwright
Não
Exemplos de config
Config padrão
A configuração mínima que o README indica para a maioria dos apps MCP.
Rodar como servidor HTTP e conectar por URL
Útil quando o app não consegue abrir uma janela sozinho. O cliente então aponta para http://localhost:8931/mcp.
Gerador de config do Playwright MCP
Escolha as opções e copie o JSON. Esta página só escreve texto; ela não abre um navegador.
Navegador
Headless (sem janela visível)
Perfil isolado (nada salvo em disco)
Tamanho do viewport, por exemplo 1280x720 (opcional)
Grupos de recursos extras
JSON da config
O viewport deve ter o formato 1280x720 (largura x altura em pixels). Ele foi deixado de fora.