tuxedo-qa

tuxedo-qa

Enables AI assistants to create, run, autocorrect, and monitor Playwright tests for your app with a local dashboard, credential vault, and public status page.

Category
Visit Server

README

tuxedo-qa

Servidor MCP que permite ao Claude, Gemini e outros assistentes de IA compatíveis com MCP criar, rodar, autocorrigir e monitorar testes Playwright do seu app — com dashboard local, cofre de credenciais e página pública de status.

Landing page e documentação →

O que é

O tuxedo-qa expõe 16 ferramentas MCP que cobrem todo o ciclo de vida de uma suíte de testes sintéticos: escrever specs em linguagem natural, rodar sob demanda ou por agendamento, autocorrigir falhas, acessar ambientes de staging protegidos por headers, e expor os resultados numa página pública de status — tudo conduzido por uma conversa com seu assistente de IA, sem precisar de pipeline de CI.

Veja a referência completa das ferramentas e casos de uso na landing page.

Subagent do Claude Code

O instalador também registra o subagent tuxedo-qa-tester (globalmente, em ~/.claude/agents/) — ele já sabe as 16 ferramentas, as convenções de teste do projeto (usar o helper de credenciais em vez de senha fixa, brasil.ts pra CPF/CNPJ, human-loop.ts pra 2FA) e quando usar run_until_pass vs. corrigir manualmente. O Claude Code aciona ele sozinho quando a tarefa é sobre testes/QA; não precisa chamar por nome. (Só Claude Code por enquanto — o Gemini CLI não tem esse mecanismo de subagents ainda.)

Como começar

Instalador de um comando só — clona/atualiza, builda, e registra automaticamente no Claude Code e/ou Gemini CLI (o que você tiver instalado):

curl -fsSL https://raw.githubusercontent.com/jonathan-ponciano/sts-tools-mcp-tuxedo-qa/main/install.sh | bash

Instala em ~/tuxedo-qa por padrão (mude com TUXEDO_QA_DIR=/outro/caminho). Rodar de novo atualiza a instalação existente — seguro de repetir.

<details> <summary>Instalação manual</summary>

git clone https://github.com/jonathan-ponciano/sts-tools-mcp-tuxedo-qa.git
cd sts-tools-mcp-tuxedo-qa
npm install
npm run build

Registre como servidor MCP. No Claude Code (escopo user = disponível em todos os projetos):

claude mcp add tuxedoqa --scope user -- node "$(pwd)/dist/index.js"

No Gemini CLI (sem -- antes do comando — sintaxe diferente do Claude Code):

gemini mcp add tuxedoqa node "$(pwd)/dist/index.js" --scope user

</details>

Opcionalmente, inicie o dashboard local:

npm run dashboard
# → http://localhost:3131

Monitorando mais de um app/cliente

Uma instalação só do tuxedo-qa serve quantos projetos você quiser, cada um completamente isolado (testes, credenciais, schedule, histórico próprios), com um dashboard só pra ver e gerenciar todos eles juntos. A ideia:

  • Cada projeto tem sua própria conexão MCP (o Claude/Gemini "conectado" naquele projeto específico só enxerga e mexe nos testes daquele projeto).
  • O dashboard (npm run dashboard) não pertence a nenhum projeto — ele enxerga todos ao mesmo tempo, com um seletor pra trocar de contexto.
  • O scheduler (monitoramento automático) roda dentro do dashboard e cuida de todos os projetos ao mesmo tempo, cada um no seu próprio horário.

1. Registrar um novo projeto

Rode o instalador de novo, passando um slug em TUXEDO_QA_PROJECT (letras, números, -/_). Ele reaproveita a mesma instalação (mesmo clone, mesmo node_modules) e só registra uma nova conexão MCP:

TUXEDO_QA_PROJECT=fretebras bash install.sh
# → registra o servidor MCP "tuxedoqa-fretebras"

TUXEDO_QA_PROJECT=xtagger bash install.sh
# → registra o servidor MCP "tuxedoqa-xtagger"

Repita pra cada projeto/cliente novo. Os dados de cada um ficam isolados em projects/<slug>/ dentro da instalação (~/tuxedo-qa/projects/fretebras/, ~/tuxedo-qa/projects/xtagger/, etc.) — testes, credenciais, schedule e histórico nunca se misturam entre projetos.

2. Usar cada projeto pelo Claude/Gemini

Depois de registrado, abra uma conversa e escolha a conexão MCP certa pra cada projeto (tuxedoqa-fretebras quando estiver falando sobre o Fretebras, tuxedoqa-xtagger pro xtagger). Cada uma só cria/roda/lê testes do seu próprio projeto — não tem como um misturar com o outro por acidente.

3. Ver tudo junto no dashboard

Suba o dashboard uma vez só (ele não precisa de TUXEDO_QA_PROJECT nenhum — enxerga todos sozinho):

npm run dashboard
# → http://localhost:3131

Na aba Monitor tem uma visão geral com todos os projetos (quantos testes, uptime, o que tá rodando agora). Clicar num projeto ali — ou usar o seletor no topo da página — troca o contexto do resto do dashboard (abas Testes, Credenciais, Proteção, Status Page) pra aquele projeto específico. É o mesmo dashboard, só muda o que ele mostra.

4. Monitoramento automático

O scheduler roda dentro do processo do dashboard e verifica todos os projetos a cada minuto — não importa qual está selecionado na tela no momento. Se fretebras tem um teste agendado a cada 1h e xtagger tem um a cada 6h, os dois rodam nos seus próprios horários, de forma independente, enquanto o dashboard estiver de pé.

Sem TUXEDO_QA_PROJECT

Se você só tem um projeto, não precisa mexer em nada disso — sem essa variável, tudo funciona no modo padrão (um projeto só, sem namespace), exatamente como antes.

Desenvolvimento

npm run dev         # roda o servidor MCP com tsx (sem build)
npm run dashboard    # dashboard em modo dev
npm test             # roda a suíte Playwright diretamente

Navegador headless vs. visível

Por padrão, todo teste roda headless — o Chromium abre em background, sem janela nenhuma na tela. Pra acompanhar visualmente o que o teste está fazendo (útil pra debugar um fluxo novo), basta passar a flag PWHEADED=1 antes do comando:

npx playwright test                # headless (padrão)
PWHEADED=1 npx playwright test     # abre o navegador visível
PWHEADED=1 npm run dev             # mesma flag funciona rodando via o servidor MCP

Isso vale pra qualquer execução — manual, via dashboard, ou disparada pelo Claude/Gemini com run_tests/run_until_pass/create_test — porque todas passam pelo mesmo runner (src/lib/playwright-runner.ts), que lê playwright.config.ts.

Licença

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured