Quality MCP
Automates repository analysis, test planning, and generation of end-to-end tests with Playwright, acting as an intelligent quality assistant.
README
Quality MCP đŻ
Quality CLI é um servidor MCP (Model Context Protocol) que automatiza a anålise de repositórios e a geração de testes E2E com Playwright. Ele funciona como um assistente inteligente de qualidade que analisa seu código, detecta padrÔes, gera planos de teste e cria estruturas completas de automação.
đŹ Como Funciona na PrĂĄtica
Imagine que vocĂȘ tem um projeto e quer implementar testes automatizados. Tradicionalmente vocĂȘ precisaria:
- â° Manualmente analisar todas as rotas e endpoints
- â° Manualmente planejar quais testes criar
- â° Manualmente estruturar os arquivos de teste
- â° Manualmente configurar Playwright, Jest, etc.
- â° Manualmente escrever cada teste do zero
âš Com o Quality MCP:
# Um Ășnico comando faz TUDO automaticamente:
quality auto --repo . --product "MyApp"
O que acontece em segundos:
đ Detectando linguagem... â
TypeScript + Next.js
đŠ Analisando cĂłdigo... â
23 rotas, 15 endpoints, 8 eventos
đŻ Recomendando estratĂ©gia... â
70% unit, 20% integration, 10% E2E
đ Gerando plano... â
45 cenĂĄrios organizados por domĂnio
đïž Criando estrutura... â
Templates + configs + fixtures
đ§Ș Executando testes... â
12 testes passando, 85% cobertura
đ Gerando relatĂłrios... â
Dashboard HTML + resumo executivo
đ Resultado: Estrutura completa e organizada
qa/MyApp/ # đŻ TUDO em um Ășnico diretĂłrio!
âââ mcp-settings.json # âïž ConfiguraçÔes do projeto
âââ tests/
â âââ analyses/ # đ Dados brutos (JSON)
â â âââ analyze.json # Mapeamento de cĂłdigo
â â âââ coverage-analysis.json
â â âââ risk-map.json
â â âââ TEST-QUALITY-LOGICAL.json
â âââ reports/ # ïżœ RelatĂłrios legĂveis
â â âââ QUALITY-REPORT.md # Resumo executivo
â â âââ PLAN.md # Plano de testes
â â âââ PYRAMID.md # AnĂĄlise de pirĂąmide
â â âââ PYRAMID.html # Dashboard pirĂąmide
â â âââ COVERAGE-REPORT.md
â â âââ DIFF-COVERAGE.md
â â âââ SELF-CHECK.md # Validação de ambiente
â âââ unit/ # đŹ Testes unitĂĄrios
â âââ integration/ # đ Testes de integração
â âââ e2e/ # đ Testes E2E Playwright
âââ dashboards/
â âââ dashboard.html # đ Dashboard interativo
âââ fixtures/
âââ auth/
âââ storageState.json # SessĂ”es autenticadas
đŠ Quality Gates & DORA Metrics (NEW v0.4.0!)
O MCP Quality CLI agora inclui Quality Gates completos para garantir que seu código atenda aos padrÔes de qualidade antes de ir para produção!
đŻ O que sĂŁo Quality Gates?
SĂŁo portas de qualidade que validam mĂ©tricas crĂticas e bloqueiam deploys arriscados automaticamente:
# Executar pipeline completo + Quality Gates
npx quality-cli analyze --mode full
# Aplicar quality gates (exit code 0/1/2)
npx quality-cli release-quality-gate
đ MĂ©tricas Monitoradas
| Categoria | Métricas | Threshold | Bloqueante? |
|---|---|---|---|
| Coverage | Lines, Branches, Functions | â„80%, â„75%, â„80% | â ïž Warning |
| Mutation | Overall, Critical Modules | â„50%, â„60% | â Yes (critical) |
| Contracts | CDC Verification, Breaking Changes | â„95%, 0 | â Yes (breaking) |
| Suite Health | Flakiness, Runtime, Parallelism | â€3%, â€12min, â„4 | â ïž Warning |
| Portfolio | E2E%, Unit% | â€15%, â„60% | â ïž Warning |
| Production | CFR, MTTR, Deploy Freq | â€15%, â€60min, â„1/month | â Yes (CFR) |
đš Exit Codes para CI/CD
0 â â
All gates passed (deploy allowed)
1 â â BLOCKED (blocking violations - stop deploy!)
2 â â ïž WARNINGS (non-blocking - allow with caution)
đ DORA Metrics (Production)
Colete métricas DORA automaticamente de Sentry, Datadog, Grafana, Jira:
# Configurar credenciais
export SENTRY_DSN="..."
export DD_API_KEY="..."
# Coletar metrics
npx quality-cli prod-metrics-ingest --repo . --product MyApp
# Comparar vs SLOs
npx quality-cli slo-canary-check --repo . --product MyApp
Métricas DORA calculadas:
- đ Deployment Frequency: Quantos deploys/mĂȘs
- â±ïž Lead Time for Changes: Tempo mĂ©dio de commitâdeploy
- đ„ Change Failure Rate: % de deploys que falharam
- đ ïž MTTR: Tempo mĂ©dio para resolver incidents
Classificação DORA Tier:
- đ Elite: Deploy on-demand, LT < 1h, CFR < 5%, MTTR < 1h
- đ„ High: Deploy 1x/dia-1x/semana, LT < 1 dia, CFR 5-15%, MTTR < 1 dia
- đ„ Medium: Deploy 1x/semana-1x/mĂȘs, LT < 1 semana, CFR 16-30%, MTTR < 1 semana
- đ„ Low: Deploy < 1x/mĂȘs, LT > 1 semana, CFR > 30%, MTTR > 1 semana
đ Integração CI/CD
GitHub Actions:
- name: Apply Quality Gates
run: npx quality-cli release-quality-gate
- name: Fail if blocked
if: failure()
run: exit 1
GitLab CI:
quality_gates:
script:
- npx quality-cli release-quality-gate
allow_failure:
exit_codes: 2 # Warnings OK
Jenkins:
def exitCode = sh(script: 'npx quality-cli release-quality-gate', returnStatus: true)
if (exitCode == 1) { error('BLOCKED') }
đ Guia Completo de Quality Gates | Exemplos CI/CD
âš Novidade v0.3.1: Retorno estruturado!
O comando auto agora retorna um objeto organizado com todos os paths gerados:
{
"ok": true,
"outputs": {
"root": "qa/MyApp",
"reports": [
"tests/reports/QUALITY-REPORT.md",
"tests/reports/PLAN.md",
"tests/reports/PYRAMID.html"
],
"analyses": [
"tests/analyses/analyze.json",
"tests/analyses/coverage-analysis.json"
],
"dashboard": "dashboards/dashboard.html",
"tests": {
"unit": "tests/unit",
"integration": "tests/integration",
"e2e": "tests/e2e"
}
},
"duration": 45230
}
⥠Quickstart (v0.3.0 - One-Shot com Linguagem Natural)
đ§ Comandos em Linguagem Natural
A forma mais fĂĄcil de usar Ă© atravĂ©s de comandos em portuguĂȘs ou inglĂȘs. O Quality MCP entende o que vocĂȘ quer fazer:
// No seu cliente MCP (Claude, Cline, etc):
{
"tool": "nl_command",
"params": {
"query": "analise meu repositĂłrio e crie tudo automaticamente"
}
}
Exemplos de comandos que funcionam:
// đ AnĂĄlise completa (recomendado para começar)
"analise meu repositĂłrio"
"auditar o projeto completo"
"create full quality analysis"
"run everything automatically"
// đ Apenas anĂĄlise do cĂłdigo
"sĂł analisar o cĂłdigo"
"mapear endpoints e rotas"
"scan the codebase only"
// đ Criar plano de testes
"criar plano de testes detalhado"
"gerar estratégia de qualidade"
"create comprehensive test plan"
// đïž Gerar estrutura de testes
"gerar templates de testes"
"scaffold test structures"
"create unit test boilerplate"
// đ§Ș Executar testes + cobertura
"rodar todos os testes"
"executar testes com cobertura"
"run tests and generate coverage report"
đŻ Exemplo Real: AnĂĄlise de um projeto Next.js
Input:
quality auto --repo . --product "E-commerce"
Output esperado:
đ Iniciando anĂĄlise mĂĄgica de qualidade...
đ Detectando linguagem e framework...
â
Detectado: TypeScript + Next.js + Prisma
đ Analisando cĂłdigo...
â
34 rotas API detectadas (/api/products, /api/users, etc.)
â
12 pĂĄginas Next.js encontradas
â
8 eventos de analytics identificados
â
3 domĂnios mapeados: auth, products, checkout
đŻ Recomendando estratĂ©gia...
â
Tipo detectado: E-commerce Platform
đ RECOMENDAĂĂO:
Unit: 70% (50-80 testes) đŽ ALTA prioridade
Integration: 20% (15-25 testes) đĄ MĂDIA prioridade
E2E: 10% (8-12 testes) đą BAIXA prioridade
đ Gerando plano de testes...
â
52 cenĂĄrios organizados por domĂnio:
- Auth: login, registro, recuperação (8 cenårios)
- Products: busca, filtros, detalhes (18 cenĂĄrios)
- Checkout: carrinho, pagamento, confirmação (12 cenårios)
- Admin: gestĂŁo produtos, pedidos (14 cenĂĄrios)
đïž Criando estrutura de testes...
â
45 arquivos de teste gerados
â
Playwright configurado (3 browsers)
â
Jest configurado para unit tests
â
Fixtures e mocks criados
đ§Ș Executando testes...
â
Unit: 23/23 passing (100%)
â
Integration: 8/8 passing (100%)
â
E2E: 6/6 passing (100%)
đ Cobertura: 78% (target: 70% â
)
đ Gerando relatĂłrios...
â
Dashboard: qa/E-commerce/tests/analyses/dashboard.html
â
Resumo: qa/E-commerce/tests/analyses/SUMMARY.md
============================================================
â
ANĂLISE COMPLETA FINALIZADA!
============================================================
đ Seu projeto agora tem 37 testes automatizados e 78% de cobertura!
đ Orquestrador Auto - Modos Detalhados
Para controle mais fino, use a tool auto diretamente:
{
"tool": "auto",
"params": {
"mode": "full" // ou: analyze, plan, scaffold, run
}
}
Modos disponĂveis e o que cada um faz:
đ Mode: analyze
Tempo: ~30 segundos
quality auto --mode analyze
O que faz:
- Escaneia todo o cĂłdigo fonte
- Detecta rotas, endpoints, eventos
- Mapeia arquitetura e dependĂȘncias
- Identifica domĂnios de negĂłcio
- Gera:
analyze.jsoncom mapeamento completo
Ideal para: Entender a arquitetura antes de planejar testes
đ Mode: plan
Tempo: ~1 minuto
quality auto --mode plan
O que faz:
- Tudo do
analyze+ - Recomenda estratégia de testes (% unit/integration/e2e)
- Gera plano detalhado com cenĂĄrios
- Organiza por domĂnios e prioridades
- Gera:
TEST-PLAN.mdcom 30-50 cenĂĄrios
Ideal para: Revisar estratégia antes de criar testes
đïž Mode: scaffold
Tempo: ~2 minutos
quality auto --mode scaffold
O que faz:
- Tudo do
plan+ - Cria estrutura completa de arquivos
- Gera templates de unit/integration/e2e
- Configura Playwright, Jest, fixtures
- Gera: 20-50 arquivos de teste prontos
Ideal para: Ter base sĂłlida para desenvolver testes
đ§Ș Mode: run
Tempo: ~3-5 minutos
quality auto --mode run
O que faz:
- Executa todos os testes existentes
- Calcula cobertura total e diff
- Gera relatĂłrios HTML/JSON
- Cria dashboard interativo
- Gera: Relatórios de execução e cobertura
Ideal para: Validar qualidade atual do projeto
đŻ Mode: full (RECOMENDADO)
Tempo: ~5-8 minutos
quality auto --mode full # ou sĂł: quality auto
O que faz:
- TUDO: analyze â plan â scaffold â run
- Processo completo do zero ao dashboard
- Gera: Estrutura completa + relatórios + métricas
Ideal para: Setup completo de qualidade em projeto novo/existente
đïž Exemplos de Uso por CenĂĄrio
đ Projeto Novo (nunca teve testes)
# 1. AnĂĄlise completa automĂĄtica
quality auto --repo . --product "MinhaApp"
# Resultado: 0 â 30+ testes em 5 minutos
đ Projeto Existente (jĂĄ tem alguns testes)
# 1. SĂł analisar gaps atuais
quality auto --mode analyze
# 2. Revisar plano gerado
# 3. Decidir se quer scaffold ou sĂł rodar existentes
quality auto --mode run # sĂł executar atuais
đ CI/CD Pipeline
# Gate de qualidade rĂĄpido
quality auto --mode run --skip-scaffold
# AnĂĄlise de PR
quality diff-coverage --repo . --target-min 80
đ„ Review de Arquitetura
# Gerar documentação da arquitetura atual
quality auto --mode plan --include-examples
# Compartilhar: qa/produto/tests/analyses/TEST-PLAN.md
đŻ O que o One-Shot faz automaticamente:
- Detecta o repositĂłrio (busca por
.gitoupackage.json) - Infere o produto do
package.json(ou usa nome da pasta) - Cria
qa/<product>/mcp-settings.json(se nĂŁo existir) - Analisa cĂłdigo (endpoints, eventos, testes existentes)
- Recomenda estratégia (% unit/integration/e2e ideal)
- Gera plano de testes estruturado
- Cria scaffolds (unit, integration, e2e)
- Executa testes com cobertura
- Calcula cobertura total + diff vs branch base
- Gera relatĂłrio executivo em
SUMMARY.md
đ Artifacts Gerados - Estrutura Detalhada
Depois de executar quality auto, vocĂȘ terĂĄ uma estrutura completa em qa/<produto>/:
qa/
âââ MinhaApp/ # đ Pasta do produto
âââ mcp-settings.json # âïž ConfiguraçÔes (auto-geradas)
â âââ product: "MinhaApp"
â âââ domains: ["auth", "user"] # đŻ Detectados automaticamente
â âââ targets: coverage, flaky % # đ MĂ©tricas de qualidade
â
âââ tests/ # đ Pasta de testes
âââ unit/ # đŹ Testes unitĂĄrios
â âââ auth.test.ts # â
Login, logout, validaçÔes
â âââ user.test.ts # â
CRUD usuĂĄrios
â âââ utils.test.ts # â
FunçÔes auxiliares
â
âââ integration/ # đ Testes de integração
â âââ api/
â â âââ auth.test.ts # â
API auth + DB
â â âââ users.test.ts # â
API users + DB
â âââ components/
â âââ forms.test.ts # â
Componentes + props
â
âââ e2e/ # đ Testes End-to-End
â âââ playwright.config.ts # âïž Config Playwright
â âââ fixtures/
â â âââ auth.ts # đ Login automatizado
â â âââ data.ts # đ Dados de teste
â âââ pages/ # đ Page Object Models
â â âââ login.page.ts
â â âââ dashboard.page.ts
â âââ specs/ # đ§Ș CenĂĄrios de teste
â âââ auth/
â â âââ login.spec.ts # â
Login vĂĄlido/invĂĄlido
â â âââ recovery.spec.ts # â
Recuperação senha
â âââ user/
â âââ profile.spec.ts # â
Edição perfil
â âââ settings.spec.ts # â
ConfiguraçÔes
â
âââ analyses/ # đ RelatĂłrios e anĂĄlises
âââ analyze.json # đ Mapeamento cĂłdigo fonte
â âââ routes: [...] # đŁïž 34 rotas detectadas
â âââ endpoints: [...] # đ 23 endpoints API
â âââ events: [...] # đĄ 12 eventos analytics
â
âââ TEST-PLAN.md # đ Plano detalhado de testes
â âââ đ EstratĂ©gia (70% unit, 20% integ, 10% e2e)
â âââ đŻ 52 cenĂĄrios por domĂnio
â âââ đ Fluxos crĂticos prioritĂĄrios
â âââ đ Exemplos de implementação
â
âââ coverage-analysis.json # đ AnĂĄlise de cobertura
â âââ total: 78% # đ Cobertura geral
â âââ by_file: {...} # đ Por arquivo
â âââ gaps: [...] # â ïž Arquivos sem cobertura
â
âââ COVERAGE-REPORT.md # đ RelatĂłrio cobertura
â âââ đŻ Status vs targets (78% vs 70% â
)
â âââ đ Gaps crĂticos identificados
â âââ đĄ RecomendaçÔes especĂficas
â
âââ PYRAMID-REPORT.md # đș PirĂąmide de testes
â âââ Unit: 42 testes (70%) â
â âââ Integration: 12 testes (20%) â
â âââ E2E: 6 testes (10%) â
â âââ Status: đą SAUDĂVEL
â
âââ dashboard.html # đ Dashboard interativo
â âââ đ GrĂĄficos de cobertura
â âââ đș Visualização da pirĂąmide
â âââ đ Trends histĂłricos
â âââ đŻ MĂ©tricas de qualidade
â
âââ SUMMARY.md # đ Resumo executivo
âââ â
60 testes criados (42+12+6)
âââ đ 78% cobertura (target: 70%)
âââ đŻ Status: APROVADO para release
âââ đ PrĂłximos passos recomendados
đ Exemplo de RelatĂłrios Gerados
đ TEST-PLAN.md - Preview
# Plano de Testes - MinhaApp
## đ EstratĂ©gia Recomendada
- **Unit Tests:** 70% (42 testes) - LĂłgica de negĂłcio
- **Integration:** 20% (12 testes) - APIs + Database
- **E2E Tests:** 10% (6 testes) - Fluxos crĂticos
## đŻ CenĂĄrios por DomĂnio
### đ Autenticação (8 cenĂĄrios)
1. â
Login com credenciais vĂĄlidas
2. â Login com credenciais invĂĄlidas
3. đ Recuperação de senha
4. đȘ Logout e limpeza de sessĂŁo
[...]
### đ€ UsuĂĄrios (12 cenĂĄrios)
1. â
Cadastro novo usuĂĄrio
2. đ Edição de perfil
3. đïž ExclusĂŁo de conta
[...]
đ SUMMARY.md - Preview
# Resumo Executivo - MinhaApp
## đŻ Status Geral: â
APROVADO
### đ MĂ©tricas de Qualidade
- **Cobertura Total:** 78% (target: 70% â
)
- **Testes Criados:** 60 (42 unit + 12 integration + 6 e2e)
- **Flaky Rate:** 0% (target: <5% â
)
- **Tempo CI:** 4.2min (target: <10min â
)
### đ Pronto para Release
â
Todos os targets atingidos
â
Fluxos crĂticos cobertos
â
Zero testes flakey
â
CI/CD configurado
ïżœ Antes vs Depois - Transformação do Projeto
â ANTES - Projeto sem testes
meu-projeto/
âââ src/
â âââ pages/ # 15 pĂĄginas Next.js
â âââ api/ # 23 endpoints API
â âââ components/ # 45 componentes
â âââ utils/ # 12 funçÔes utilitĂĄrias
âââ package.json # DependĂȘncias bĂĄsicas
âââ README.md
â 0 testes
â 0% cobertura
â Sem validação de qualidade
â Deploy manual arriscado
â Bugs em produção
â DEPOIS - Projeto com Quality MCP
meu-projeto/
âââ src/ # â
CĂłdigo original intocado
â âââ pages/
â âââ api/
â âââ components/
â âââ utils/
âââ qa/MeuProjeto/ # đ Estrutura de qualidade completa
â âââ mcp-settings.json
â âââ tests/
â âââ unit/ # đŹ 35 testes unitĂĄrios
â âââ integration/ # đ 15 testes integração
â âââ e2e/ # đ 8 testes E2E
â âââ analyses/ # đ RelatĂłrios detalhados
âââ package.json # â
Scripts de teste adicionados
âââ playwright.config.ts # â
Config E2E
âââ jest.config.js # â
Config unit tests
âââ README.md # â
Documentação atualizada
â
58 testes automatizados
â
82% cobertura (target: 70%)
â
CI/CD com gates de qualidade
â
Deploy seguro com validação
â
Bugs detectados antes da produção
đ Impacto em NĂșmeros
| Métrica | Antes | Depois | Melhoria |
|---|---|---|---|
| Testes | 0 | 58 | +â |
| Cobertura | 0% | 82% | +82% |
| Bugs em Prod | ~15/mĂȘs | ~2/mĂȘs | -87% |
| Tempo Deploy | 45min | 12min | -73% |
| Confiança Deploy | 20% | 95% | +375% |
| Setup Time | ~40h | ~8min | -99.7% |
ïżœđ Funcionalidades
- đ§ Linguagem Natural: Comandos em PT/EN ("analise meu repositĂłrio")
- đ Orquestrador One-Shot: Zero-setup, detecta tudo automaticamente
- AnĂĄlise AutomĂĄtica: Detecta rotas, endpoints, eventos e riscos no seu cĂłdigo
- Geração de Plano: Cria plano de testes estruturado por domĂnio/produto
- Scaffold Inteligente: Gera estrutura completa de testes Playwright
- Execução com Cobertura: Roda testes com relatórios HTML, JUnit, JSON
- Relatório Executivo: Consolida resultados para aprovação de QA/Release
đââïž Como Começar - Passo a Passo
đŻ Setup RĂĄpido (5 minutos)
1ïžâŁ Clone e Configure o MCP
# Clone o repositĂłrio
git clone https://github.com/jorgsouza/mcp-Quality-CLI
cd mcp-Quality-CLI
# Instale e compile
npm install && npm run build
# Teste se funcionou
node dist/cli.js --help
2ïžâŁ Configure no seu Cliente MCP
Para Claude Desktop, edite ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"quality": {
"command": "node",
"args": ["/caminho/completo/para/mcp-Quality-CLI/dist/server.js"],
"env": {
"E2E_BASE_URL": "http://localhost:3000"
}
}
}
}
Para Cline (VS Code), edite .vscode/settings.json:
{
"cline.mcpServerConfig": {
"quality": {
"command": "node",
"args": ["/caminho/completo/para/mcp-Quality-CLI/dist/server.js"]
}
}
}
3ïžâŁ Execute a MĂĄgica âš
# No terminal do seu projeto:
cd /caminho/do/seu/projeto
# Execute a anĂĄlise completa
node /caminho/para/mcp-Quality-CLI/dist/cli.js auto --repo . --product "MeuApp"
Ou via Cliente MCP:
{
"tool": "auto",
"params": {
"repo": ".",
"product": "MeuApp",
"mode": "full"
}
}
đŹ Exemplo PrĂĄtico: Projeto Next.js
# Vamos dizer que vocĂȘ tem um e-commerce Next.js
cd meu-ecommerce-nextjs
# Execute o comando mĂĄgico
quality auto --repo . --product "E-commerce"
# â±ïž Aguarde 3-5 minutos...
# â
Pronto! Seu projeto agora tem:
# - 45 testes unitĂĄrios
# - 18 testes de integração
# - 12 testes E2E
# - 84% de cobertura
# - Dashboard interativo
# - RelatĂłrio executivo
đ§ Customização (Opcional)
Depois da primeira execução, vocĂȘ pode ajustar as configuraçÔes:
# Edite o arquivo gerado
vim qa/E-commerce/mcp-settings.json
# Ajuste domĂnios, fluxos crĂticos, targets, etc.
{
"domains": ["auth", "catalog", "cart", "checkout"],
"critical_flows": ["login", "add_to_cart", "purchase"],
"targets": {
"diff_coverage_min": 85, // Mais rigoroso
"flaky_pct_max": 2 // Menos tolerĂąncia
}
}
# Execute novamente para aplicar mudanças
quality auto --repo . --product "E-commerce"
đ PrĂ©-requisitos
- Node.js 20+ (recomendado: 20.11.0 ou superior)
- npm ou yarn
- Git (para anĂĄlise de diff coverage)
â Verificar PrĂ©-requisitos
node --version # Deve ser v20.x.x+
npm --version # Qualquer versĂŁo recente
git --version # Qualquer versĂŁo recente
đ§ Instalação Detalhada
Método 1: Desenvolvimento (Recomendado)
# 1. Clone o repositĂłrio
git clone https://github.com/jorgsouza/mcp-Quality-CLI.git
cd mcp-Quality-CLI
# 2. Instale dependĂȘncias
npm install
# 3. Compile TypeScript
npm run build
# 4. Teste a instalação
node dist/cli.js --version
node dist/cli.js --help
# 5. Configure no seu cliente MCP (ver seção "Como Começar")
Método 2: Global (Para uso direto no terminal)
# 1. Clone e instale globalmente
git clone https://github.com/jorgsouza/mcp-Quality-CLI.git
cd mcp-Quality-CLI
npm install && npm run build
npm link
# 2. Agora vocĂȘ pode usar em qualquer lugar
cd /caminho/do/seu/projeto
quality auto --repo . --product "MeuApp"
Método 3: Via NPM (Futuro)
# Em breve estarĂĄ disponĂvel:
npm install -g quality-mcp # đ§ Em desenvolvimento
đź Uso
Como MCP Server
Configure no seu mcp-settings.json (Claude Desktop, Cline, etc):
{
"mcpServers": {
"quality": {
"command": "node",
"args": ["/path/to/mcp-Quality-CLI/dist/server.js"],
"env": {
"E2E_BASE_URL": "https://staging.example.com",
"E2E_USER": "test@example.com",
"E2E_PASS": "your-password"
}
}
}
}
Como CLI
1. AnĂĄlise do RepositĂłrio
quality analyze \
--repo . \
--product "MyApp" \
--domains "auth,user,search" \
--critical-flows "login,registration,search" \
--targets '{"ci_p95_min":15,"flaky_pct_max":3,"diff_coverage_min":60}' \
--base-url "https://staging.example.com"
SaĂda: plan/analyze.json com rotas, endpoints, eventos e mapa de riscos.
2. Geração do Plano de Testes
quality plan \
--repo . \
--product "MyApp" \
--base-url "https://staging.example.com" \
--include-examples
SaĂda: plan/TEST-PLAN.md com plano estruturado e exemplos.
3. Scaffold dos Testes Playwright
quality scaffold \
--repo . \
--plan plan/TEST-PLAN.md \
--out packages/product-e2e
SaĂda: Estrutura completa em packages/product-e2e/ com:
playwright.config.ts- Testes organizados por domĂnio
- Fixtures e utilitĂĄrios
- README com instruçÔes
4. Execução dos Testes
# Configure variĂĄveis de ambiente
export E2E_BASE_URL="https://staging.example.com"
export E2E_USER="test@example.com"
export E2E_PASS="secure-password"
# Execute
quality run \
--repo . \
--e2e packages/product-e2e \
--report reports
SaĂda: RelatĂłrios em reports/ (HTML, JUnit, JSON).
5. RelatĂłrio Consolidado
quality report \
--in reports \
--out SUMMARY.md \
--thresholds '{"flaky_pct_max":3,"diff_coverage_min":60}' \
--ci
SaĂda: SUMMARY.md pronto para PR/Release.
Pipeline Completo
Execute todas as etapas de uma vez:
quality full \
--repo . \
--product "MyApp" \
--base-url "https://staging.example.com" \
--domains "auth,user,search" \
--critical-flows "login,registration,search" \
--targets '{"ci_p95_min":15,"flaky_pct_max":3,"diff_coverage_min":60}'
đ ïž Tools MCP DisponĂveis
1. analyze_codebase
Analisa o repositĂłrio para detectar rotas, endpoints, eventos e riscos.
ParĂąmetros:
{
repo: string; // Caminho do repositĂłrio
product: string; // Nome do produto
domains?: string[]; // ex: ["auth","user"]
critical_flows?: string[]; // ex: ["login","registration"]
targets?: {
ci_p95_min?: number;
flaky_pct_max?: number;
diff_coverage_min?: number;
};
base_url?: string;
}
2. generate_test_plan
Gera plano de testes Playwright em Markdown.
ParĂąmetros:
{
repo: string;
product: string;
base_url: string;
include_examples?: boolean;
out_dir?: string; // default: "plan"
}
3. scaffold_playwright
Cria estrutura de testes Playwright com specs e configuraçÔes.
ParĂąmetros:
{
repo: string;
plan_file: string;
out_dir?: string; // default: "packages/product-e2e"
}
4. run_playwright
Executa testes Playwright com cobertura e relatĂłrios.
ParĂąmetros:
{
repo: string;
e2e_dir: string;
report_dir?: string; // default: "reports"
headless?: boolean; // default: true
}
5. build_report
Consolida relatórios em Markdown para aprovação de QA.
ParĂąmetros:
{
in_dir: string;
out_file?: string; // default: "SUMMARY.md"
thresholds?: {
flaky_pct_max?: number;
diff_coverage_min?: number;
};
}
đ MĂ©tricas e Gates
Targets Recomendados
- CI p95: †15 minutos (percentil 95 do tempo de CI)
- Flaky Rate: †3% (testes inståveis)
- Diff Coverage: ℠60% (cobertura nas mudanças)
PolĂtica de Flaky Tests
- Quarentena automĂĄtica (skip temporĂĄrio)
- Criar issue para investigação
- SLA de 7 dias para correção
- Se nĂŁo corrigido em 14 dias, remover o teste
đ CI/CD
GitHub Actions
Dois workflows prontos:
1. CI para Pull Requests (.github/workflows/ci.yml)
Executa:
- AnĂĄlise do cĂłdigo
- Geração de plano
- Scaffold dos testes
- Execução da suite smoke
- ComentĂĄrio no PR com resultados
2. Nightly Full Suite (.github/workflows/nightly.yml)
Executa:
- Suite completa em 3 browsers (Chromium, Firefox, WebKit)
- Agregação de resultados
- Notificação no Slack em caso de falha
- Criação automåtica de issues
VariĂĄveis de Ambiente NecessĂĄrias
Configure no GitHub Secrets:
E2E_BASE_URL # URL do ambiente de testes
E2E_BASE_URL_STAGING # URL do staging (nightly)
E2E_USER # UsuĂĄrio de teste
E2E_PASS # Senha de teste
SLACK_WEBHOOK_URL # Webhook do Slack (opcional)
đ Estrutura do Projeto
mcp-Quality-CLI/
âââ src/
â âââ server.ts # MCP server principal
â âââ cli.ts # CLI wrapper
â âââ tools/
â â âââ analyze.ts # AnĂĄlise de cĂłdigo
â â âââ plan.ts # Geração de plano
â â âââ scaffold.ts # Scaffold de testes
â â âââ run.ts # Executor de testes
â â âââ report.ts # Gerador de relatĂłrios
â âââ detectors/
â â âââ next.ts # Detector de rotas Next.js
â â âââ express.ts # Detector de rotas Express/Fastify
â â âââ events.ts # Detector de eventos
â âââ utils/
â âââ fs.ts # UtilitĂĄrios de filesystem
âââ .github/
â âââ workflows/
â âââ ci.yml # Workflow de CI
â âââ nightly.yml # Workflow nightly
âââ package.json
âââ tsconfig.json
âââ README.md
đŻ Casos de Uso
1. Novo Projeto
# 1. Instale globalmente
npm install -g quality-mcp
# 2. Execute o pipeline completo
quality full --repo . --product "MyApp" --base-url "http://localhost:3000"
# 3. Revise os arquivos gerados
# 4. Ajuste os testes conforme necessĂĄrio
# 5. Execute novamente
quality run --repo . --e2e packages/product-e2e
2. Projeto Existente
# 1. Analise o cĂłdigo existente
quality analyze --repo . --product "MyApp"
# 2. Gere o plano
quality plan --repo . --product "MyApp" --base-url "http://localhost:3000"
# 3. Revise o plano (plan/TEST-PLAN.md)
# 4. Ajuste conforme necessĂĄrio
# 5. Crie os testes
quality scaffold --repo . --plan plan/TEST-PLAN.md
3. CI/CD
# Adicione ao seu workflow
- name: Run E2E Quality Check
run: |
npm install -g quality-mcp
quality full \
--repo . \
--product "${{ github.repository }}" \
--base-url "${{ secrets.E2E_BASE_URL }}"
đ€ Contribuindo
ContribuiçÔes são bem-vindas! Por favor:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
â FAQ - Perguntas Frequentes
Q: O comando falha com "command not found"
A: Verifique se compilou corretamente:
cd mcp-Quality-CLI
npm run build
node dist/cli.js --help # Deve mostrar ajuda
Q: NĂŁo detectou minha linguagem/framework
A: Atualmente suportamos:
- â JavaScript/TypeScript (Node.js, Next.js, React)
- â Go (gin, echo, gorilla/mux)
- â Python (FastAPI, Django, Flask)
- â Java (Spring Boot, Maven, Gradle)
- â C# (.NET Core, ASP.NET)
- â PHP (Laravel, Symfony)
- â Ruby (Rails, Sinatra)
Q: Posso usar em projetos privados/comerciais?
A: Sim! Licença MIT permite uso comercial. Todos os dados ficam locais.
Q: Como personalizar os templates gerados?
A: Edite os arquivos em src/tools/templates/ e recompile:
# Personalize templates
vim src/tools/templates/playwright.config.template.ts
npm run build
Q: DĂĄ para integrar com meu CI/CD?
A: Sim! Exemplos:
GitHub Actions:
- name: Quality Gate
run: |
npx quality-mcp auto --mode run
npx quality-mcp diff-coverage --target-min 80
GitLab CI:
quality_check:
script:
- npm install -g quality-mcp
- quality auto --mode run --repo .
Q: Onde ficam salvos os dados?
A: Tudo fica local no seu projeto em qa/<produto>/. Nada Ă© enviado para servidores externos.
Q: Como desinstalar?
A:
# Se instalou globalmente
npm unlink quality-mcp
# Remover pasta
rm -rf /caminho/para/mcp-Quality-CLI
# Remover do config MCP
# Edite seu claude_desktop_config.json ou settings.json
đš Troubleshooting
â Erro: "Cannot find module"
# Solução: Reinstale dependĂȘncias
rm -rf node_modules package-lock.json
npm install
npm run build
â Erro: "Permission denied"
# Solução: Ajuste permissÔes
chmod +x dist/cli.js
# Ou use: node dist/cli.js em vez de ./dist/cli.js
â Erro: "Git not found"
# Solução: Instale git ou pule diff coverage
quality auto --skip-run # Pula execução que precisa de git
â Testes E2E falhando
# Solução: Verifique variåveis de ambiente
export E2E_BASE_URL="http://localhost:3000"
export E2E_USER="test@example.com"
export E2E_PASS="password123"
# Ou rode sem E2E
quality auto --mode scaffold # SĂł cria estrutura
đ Debug Mode
# Para mais logs detalhados
DEBUG=quality:* quality auto --repo .
đ Suporte Multi-Linguagem
O Quality MCP oferece suporte END-TO-END para mĂșltiplas linguagens com adapters nativos!
| Linguagem | Analyze | Coverage | Mutation | Scaffold | Status |
|---|---|---|---|---|---|
| TypeScript | â | â | â | â | đą Completo |
| JavaScript | â | â | â | â | đą Completo |
| Python | â | â | â | â | đą Completo |
| Go | â | â | â | â | đą Completo |
| Java | â | â | â | â | đą Completo |
| Ruby | âȘ | âȘ | âȘ | âȘ | âȘ Planejado Q2 2026 |
Legenda
- â Suportado - Funcional e testado
- đĄ Parcial - Funcional mas nĂŁo testado extensivamente
- âȘ Planejado - Em desenvolvimento
Detalhes por Linguagem
TypeScript/JavaScript
- Frameworks: Vitest, Jest, Mocha
- Coverage: Coverage-v8, istanbul/nyc
- Mutation: Stryker
- Formats: LCOV, JSON (Istanbul)
- Status: â Produção
Python
- Frameworks: pytest, unittest
- Coverage: coverage.py, pytest-cov
- Mutation: mutmut
- Formats: Cobertura XML
- Status: â Produção
Go
- Frameworks: go test
- Coverage: go test -cover
- Mutation: go-mutesting
- Formats: coverage.out
- Status: â Produção
Java
- Frameworks: JUnit 5, JUnit 4, TestNG
- Build Tools: Maven, Gradle
- Coverage: JaCoCo
- Mutation: PIT (PITest)
- Formats: JaCoCo XML/CSV/HTML
- Status: â Produção
Setup RĂĄpido por Linguagem
Para instruçÔes detalhadas de setup, veja: SETUP-BY-LANGUAGE.md
TypeScript/JavaScript:
npm install -D vitest @vitest/coverage-v8 @stryker-mutator/core
Python:
pip install pytest pytest-cov mutmut hypothesis
Go:
go install gotest.tools/gotestsum@latest
go install github.com/zimmski/go-mutesting/cmd/go-mutesting@latest
đ Licença
MIT License - veja o arquivo LICENSE para detalhes.
đ Links Ăteis
đĄ Roadmap
- [ ] Suporte a testes de API (REST/GraphQL)
- [ ] Integração com Cypress
- [ ] Suporte a testes de mutação
- [ ] Dashboard web para visualização de métricas
- [ ] Integração com Jira/Linear para tracking de flaky tests
- [ ] Suporte a mĂșltiplos ambientes (dev, staging, prod)
- [ ] Geração de mocks automåticos
đ Suporte
Para dĂșvidas ou problemas:
Desenvolvido com â€ïž para melhorar a qualidade do seu software
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.