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.
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.
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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。