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
访问服务器

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选