Sobre o projeto

Playwright MCP é um servidor Model Context Protocol (MCP) que expõe automação de navegador por meio do Playwright. Em vez de depender de capturas de tela ou modelos ajustados para visão, ele permite que clientes LLM interajam com páginas da web usando snapshots estruturados de acessibilidade, que o projeto descreve como rápidos, leves, amigáveis para LLM e determinísticos. O README contrasta o servidor MCP com a abordagem separada do Playwright CLI com SKILLs. Ele observa que agentes de codificação geralmente preferem fluxos de trabalho baseados em CLI por serem mais eficientes em tokens, enquanto o MCP continua útil para loops agênticos que precisam de estado persistente, introspecção rica e raciocínio iterativo sobre a estrutura da página, como automação exploratória, testes autocuráveis ou fluxos de trabalho autônomos de longa duração. Os requisitos são Node.js 18 ou superior e um cliente MCP como VS Code, Cursor, Windsurf, Claude Desktop, Goose, Grok, Junie ou outros. A instalação normalmente é feita com npx @playwright/mcp@latest, e o README fornece trechos de configuração específicos para muitos clientes, incluindo VS Code, Cursor, Claude Code, Claude Desktop, Cline, Codex, Copilot, Factory, Gemini CLI, Goose, Grok, Junie, Kiro, LM Studio, opencode, Qodo Gen, Warp e Windsurf. A configuração é extensa. Opções de linha de comando e variáveis de ambiente correspondentes cobrem seleção de navegador (chrome, firefox, webkit, msedge), modo headless, tamanho do viewport, emulação de dispositivo, emulação móvel, configurações de proxy, endpoints CDP, timeouts, níveis de console, atributos test-id, permissões, diretórios de saída, arquivos de segredos, salvamento de sessão, modos e caixas de snapshot, bloqueio de service workers, tratamento de erros HTTPS, alternância de sandbox e muito mais. Um arquivo de configuração JSON também pode ser fornecido com --config. O tratamento de perfil de usuário suporta um perfil persistente armazenado em locais de cache específicos da plataforma, identificados pelo hash do workspace, sessões isoladas que descartam o estado de armazenamento ao fechar e conexão a um navegador existente por meio da extensão Playwright Chrome. O estado inicial pode ser fornecido por um diretório de dados do usuário, um arquivo de estado de armazenamento, um arquivo TypeScript init-page avaliado no objeto de página do Playwright ou arquivos JavaScript init-script avaliados antes dos scripts da página.